全国直销电话:4006-854-568
IT-technology
以人为本,众志成城,以“用户至上”.“服务上乘”为原则,
追求产品和服务高质量,努力实现与客户之间真诚有效的沟通,
不断地圆梦、奔跑与腾飞。
新闻动态   NEWS
动图图解 | UDP就一定比TCP快吗?-北京赛维博信科技发展有限公司
来源:本文摘自网络,如有侵权请联系删除 | 作者:svbx001 | 发布时间: 2022-11-07 | 1402 次浏览 | 分享到:

话说,UDP比TCP快吗?

相信就算不是八股文老手,也会下意识的脱口而出:""。

这要追问为什么,估计大家也能说出个大概。

但这也让人好奇,用UDP就一定比用TCP快吗?什么情况下用UDP会比用TCP慢?

我们今天就来聊下这个话题。


使用socket进行数据传输

作为一个程序员,假设我们需要在A电脑的进程发一段数据到B电脑的进程,我们一般会在代码里使用socket进行编程。

socket就像是一个电话或者邮箱(邮政的信箱)。当你想要发送消息的时候,拨通电话或者将信息塞到邮箱里,socket内核会自动完成将数据传给对方的这个过程。

基于socket我们可以选择使用TCP或UDP协议进行通信。

对于TCP这样的可靠性协议,每次消息发出后都能明确知道对方收没收到,就像打电话一样,只要"喂喂"两下就能知道对方有没有在听。

而UDP就像是给邮政的信箱寄信一样,你寄出去的信,根本就不知道对方有没有正常收到,丢了也是有可能的。

这让我想起了大概17年前,当时还没有现在这么发达的网购,想买一本《掌机迷》杂志,还得往信封里塞钱,然后一等就是一个月,好几次都怀疑信是不是丢了。我至今印象深刻,因为那是我和我哥攒了好久的钱。。。


回到socket编程的话题上。

创建socket的方式就像下面这样。

fd = socket(AF_INET, 具体协议,0);

注意上面的"具体协议",如果传入的是SOCK_STREAM

 

服务热线

1391-024-6332