1.三者关系
tcp和udp是协议,socket是实现接口,协议的实现可以用socket接口也可以不用。
2.两者区别
我们都知道tcp可靠,udp不可靠,具体体现在哪里呢?两个大的直观方面:
1)上层编码实现框架
tcp:
服务器端:建立,绑定,监听,接受,发送, 接收;客户端:建立,连接,接收,发送
udp:
服务器端:建立,绑定,等待接收; 客户端:建立,发送
2)上层实现细节
tcp:建立tcp套接字;send;recv
udp:建立udp套接字;sendto;recvfrom
3)内部实现机制(最重要的部分)
tcp:为确保正确地接收数据,tCp 要求在目标计算机成功收到数据时发回一个确认(即 ACK)。如果在某个时限内未收到相应的 ACK,将重新传送数据包。
udp:只要发送出去就不管了。