LINUX——网络编程UDP

UDP编程
UDP报头:

LINUX——网络编程UDP

流式服务和数据报服务

LINUX——网络编程UDP

LINUX——网络编程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: 无连接 不可靠 无状态
LINUX——网络编程UDP

IP分片:
MTU的限制: 网络最大传输单元
IP数据报分片完成后最多携带1480个数据(IP报头20字节)
LINUX——网络编程UDP

TCP协议: 超时重传机制
拥塞控制: 慢启动 快速重传 拥塞避免 快速恢复

LINUX——网络编程UDP