简答面向数据报,面向字节流
生活随笔
收集整理的這篇文章主要介紹了
简答面向数据报,面向字节流
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先來一個例子
用UDP傳輸100個字節的數據:
面向數據報
如果發送端調用一次sendto, 發送100個字節, 那么接收端也必須調用對應的一次recvfrom, 接收100個字節;
而不能循環調用10次recvfrom, 每次接收10個字節;
面向字節流
由于緩沖區的存在, TCP程序的讀和寫不需要一一匹配, 例如:
寫100個字節數據時, 可以調用一次write寫100個字節, 也可以調用100次write, 每次寫?一個字節;
讀100個字節數據時, 也完全不需要考慮寫的時候是怎么寫的, 既可以一次read 100個字節, 也可以一次read一個字節, 重復100次;
應用層交給UDP多長的報文, UDP原樣發送, 既不會拆分, 也不會合并;
TCP有一個緩沖,當應用程序傳送的數據塊太長,TCP就可以把它劃分短一些再傳送。如果應用程序一次只發送一個字節,TCP也可以等待積累有足夠多的字節后再構成報文段發送出去。
總結
以上是生活随笔為你收集整理的简答面向数据报,面向字节流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 弱精可以做试管吗
- 下一篇: TCP三次挥手四次握手(面试总结)