先做一个了解
认识TCP协议
TCP(Transmission Control Protocol),传输控制协议有一个直观的认识。
传输层协议,有连接(先建立专属通道,再传数据,传完还要断开),可靠传输,面向字节流。
认识UDP协议
UDP(User Datagram Protocol用户数据报协议)有一个直观的认识;后面再详细讨论。
传输层协议,无连接(不用提前建立通道,直接发数据包,发出去不管对方收没收到),不可靠传输,面向数据报。
我们这里的可靠和不可靠,我们把他们当作特点,而不是优缺点,因为只要可靠就会做更多的工作。因此UDP协议会更轻量化。
网络字节序
小端:低字节放低地址(小 小 小)
大端:低字节放高地址
跨主机通信时,不管你电脑是大端还是小端 ,发送前统一转成网络大端序,接收后再转回本地主机序,保证数据解析一致。
先发出的数据是低地址,后发出的数据是高地址。


统一的接口,上面那个struct sockaddr是基类,下面两个是子类。

recvfrom

网络编程里,用来 "接收 UDP 数据" 的函数。因为 UDP 无连接 ,不知道谁发的,所以必须用这个函数把 "数据 + 发送方地址" 一起拿回来。