TCP客户端的实现步骤
socket
用socket创建套接字文件,指定使用TCP协议。
connect
调用connect主动向服务器发起三次握手,进行连接
int connet(int sockfd,const struct sockaddr*addr,socklen_t addrlen);
功能:向服务器主动发起连接
返回值:成功返回0;失败返回1;
read(recv)和write(send)
调用read(recv)和write(send)收发数据
ssize_t recv(int sockfd, void *buf, size_t len, int flags);
功能:向对方发送消息
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
功能:接收对象发送的消息
sockfd:用于通信描述符
*buf:应用缓存
len:长度
flags:0
close或shutdown
调用close或者shutdown关闭连接
int shoutdown(int sockfd,int how)
sockfd:返回的文件描述符
how:如何断开连接
how:
SHUT_RD:只断开读连接
SHUT_WR:只断开写连接
SHUT_RDWR:读写连接都断开
功能:可以按照要求关闭连接,而且不管有多少个描述符指向同一连接,只要调用shutdown去操作了其中某个操作符,连接就会立即断开
返回值:成功返回0,失败返回-1