D4.22
客户端 socket connect read/write closed
服务器 socket setsockopt bind listen accept
close(fd);
任务:实现客户端给服务器发文件!
客户端:
1、
输入发送的文件名;
2、
将文件名发送给服务器;
3、
发送文件的内容给服务器;
服务器:
1、接收到文件名需要创建该文件;
2、将接收到的文件内容保存到创建的文件里;
3、
TCP服务器实现过程 (1)创建套接字:socket函数
(2)给套接字绑定ip地址和端口号:bind函数
(3)将套接字文件描述符,从主动变为被动文件描述符(做监听准备):listen函数
(4)被动监听客户的连接并响应:accept函数
(5)服务器调用read(recv)和write(send),收发数据,实现与客户的通信
(6)调用close或者shutdown关闭TCP的连接三十、socket(创建套接字)1、头文件:#include <sys/types.h> #include <sys/socket.h>
2、函数原型:int socket(int domain, int type,int protocol);
3、函数形参:domian:族/范围; type:套接字类型;
4、函数返回值:成功返回套接字文件描述符,失败返回-1,errno被设置。三十一、bind(套接字绑定ip地址/端口号)1、头文件:#include <sys/types.h> #include <sys/socket.h>2、函数原型:int bind(int sockfd, const struct sockaddr *addr, socklen_taddrlen);3、函数形参:sockfd:socket所返回的套接字文件描述符 addr:保存ip地址及端口号的结构体的地址; addrlen:第二个结构体参数的长度。