上次转了一篇纯文字,某人说还是看不懂,这次吐槽君就转个图文的,在看不懂就没救了。。。
一张有趣的图片
你知道TCP与UDP协议通信传输的区别么?下面这幅图如果你看懂了,你也就理解了。
不得不佩服,真是太有才了,太形象了。
TCP通信的过程
一般情况下TCP是这样的:
TCP发送方:你准备好了么?我准备发了哦。
TCP接收方:好嘞,你发吧,我准备好了。
于是,双方很愉快地进行通信传输了。
UDP通信的过程
再看下UDP是什么样的:
UDP发送方:哎呀,终于睡醒了,干会活吧,开始发喽。。。。
UDP接收方:我还没准备好呢,等等我,慢点,慢点。。。。
于是,发送方、接收方都各自为政,互不干涉,发送方不关心接收方是否接收完整,接收方也无从判断发送方是否开始发了。。。。
总结
TCP是面向连接的,只有连接成功双方准备好才开始通信;而UDP是非面向连接的,双方都可以随时准备着接收与发送,需编程者自己判断数据收发是否完整。