LINUX——网络编程UDP
UDP编程
UDP报头:
流式服务和数据报服务
UDP的编程流程:
服务器: socket bind recvfrom/sendto close
客户端:socket sendto/recvfrom close
int recvfrom(int sockfd, void *buff, int len, int flag, struct sockaddr *src_addr, int * addr_len);
int sendto(int sockfd, void *buff, int len, int flag, struct sockaddr*dest_addr, int addr_len);
TCP UDP IP协议比较:
TCP UDP传输层协议,IP网络层协议
TCP: 面向连接 可靠的 流式服务
UDP: 无连接 不可靠 数据报服务
IP: 无连接 不可靠 无状态
IP分片:
MTU的限制: 网络最大传输单元
IP数据报分片完成后最多携带1480个数据(IP报头20字节)
TCP协议: 超时重传机制
拥塞控制: 慢启动 快速重传 拥塞避免 快速恢复