UDP 和 TCP 的 socket 分别一般用在什么地方

 我来答
山中书客似眠4
2017-10-26 · TA获得超过2081个赞
知道小有建树答主
回答量:1082
采纳率:88%
帮助的人:255万
展开全部
1.UDP是面向分组的,分组间有明确的边界;TCP是面向流字符的,数据流间无边界。
UDP发送一个分组,接收方或者接收完全失败,如果成功整个分组都会接收到。对于TCP,发送一串数字(1,2,3,4,5),接收时有可能变成两次(1,2)和(2,4,5),或者变成任意接收方式,协议栈只保证接收顺序正确。
2.UDP属于非连接状态下的不可靠协议,实际运用中很少用到UDP,UDP对于网络资源消耗很少,可以用UDP进行nat穿透。TCP一般用于连接状态下的可靠的协议,比如http,telnet,smtp。
3.TCP是可靠的,通过数据校验保证发送和接收到的数据是一致的;UDP是不可靠的,发送一串数字分组(1,2,3)可能接收到时就变成(1,0,0)了,做UDP连接时需要自己做数据校验。
4.UDP是无序的,发出(1,2,3),有可能按照(1,3,2)的顺序收到,应用程序必须自己做分组排序;TCP数据是有序的,以什么顺序发送的数据,接收时同样会按照此顺序。

5.TCP因为建立连接、释放连接、IP分组校验排序等需要额外工作,速度较UDP慢许多。TCP适合传输数据,UDP适合流媒体。

6.UDP比TCP更容易穿越路由器防火墙。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式