TCP状态时序图


主动终止的一方,会有2ms的timewait
二、udp实现的server
recv/send只能用于tcp
recvfrom()/sendto()--udp
server:
socket(SOCK_DGRAM)--->bind--->listen(可有可无)--->read()/recvfrom--->sendto---->close
client:
connfd=socket(SOCK_DGRAM);
设置服务器addr
sendto("服务器地址结构","地址结构大小")
ssize_t recv(int socket, void *buffer, size_t length, int flags);
ssize_t send(int socket, const void *buffer, size_t length, int flags);
ssize_t recvfrom(int socket, void *buffer, size_t length, int flags, struct sockaddr * address, socklen_t *address_len);
ssize_t sendto(int socket, const void *buffer, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len);
网友评论