UDP比TCP快,举个例子?

新手上路,请多包涵

举个例子:UDP发送的消息可能先到的例子

阅读 2.5k
2 个回答

举个例子
TCP
A:我跟你说件事
B:好的,你说
A:我要开始说咯
A:你是傻逼

A:我说完了
B:我知道了,容我三思
B:我无话可说
A:我知道了

UPD
A:你是傻逼

UDP比TCP快

这句话本身是非常不严谨的。

已经构造好的数据包在链路上传播时,路由器是不会管你传输层使用了什么协议的(除了出于特殊目的,需要进行流量审查和端口屏蔽),所以理论上UDP和TCP封包的传输时延是一样的。

那么让上面那句话显得有道理的,只能是加上了传输时延以外的时延后的情况。不过这个问题从时延来想的话不太合适。

从UDP和TCP的开销来看,UDP头部占8个字节,而TCP占20个,因此在相同环境下发送同样多的应用层的数据,TCP的开销比UDP大,从而也会产生“慢”的感觉。

从连接特性来看,UDP是无连接的,而TCP是有连接的,TCP需要通过三次握手建立连接后才能正式发送应用层数据,而UDP不需要,额外的握手时间也会产生“慢”的感觉。

从其它特性来看,TCP有自动重传、重整失序数据的功能,例如,使用TCP发送“ABCD”,接收方接收到了“BCD”,而“A”由于丢包等原因暂时没有接收到,TCP就会一直等到“A”也接收到了,才会把“ABCD”一起送到应用层,这样一来,虽然“BCD”早就接收到了,但应用层实际等待的时间会被“A”拖慢,造成整体“慢”的感觉。

具体还是要了解这两个协议本身的特点。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题