- 在客戶端,它總是得到完全響應,或者有一半得到響應的機會,另一半得到另一種響應(例如:取決於緩衝區,我們爲recv()API定義)。
- 有沒有可能在recv()API中接收兩個填充響應。
0
A
回答
1
您可以從零到您請求的大小獲取任意數量的數據。始終檢查返回值以查看實際收到的數據量。
要回答您的問題:您可以獲得比完整的「回覆」更少的回報,或者您可以獲得比完整的「回覆」更多的回覆。如果您收到多條完整的回覆消息,您可能會得到兩個或一個半,或者其他不止一個。
3
TCP不保留消息邊界。它公開的是一個字節流。因此,您在一邊調用的send()可能不對應於另一邊的recv()。例如,下面可能會發生:
- A調用發送(),具有100個字節,然後調用再次發送()有100個字節
- B調用的recv(),並得到200個字節(見Nagle's algorithm)
或者反過來說:
- A調用send()方法1 MIB
- B調用的recv(),獲得512昆明植物研究所,然後調用的recv()再次,得到512 KiB(緩衝區空間在接收方或發送方都不足)。
關於你提到的「填充」的問題,不是說你有檢查的recv的返回值(),看看有多少字節,其中居然在緩衝區中返回。
0
可以形成傳遞給發送這樣的數據塊:[6個字節:數據大小的頭] [數據]
然後調用的recv()在迴路中讀取在每次迭代1個字節。讀取'數據大小頭'(前6個字節)並分配所需大小的緩衝區,然後讀取其餘字節。
相關問題
- 1. 在recv()api中填充的數據
- 2. 如何調用API並在React中填充響應
- 3. 響應式表格在填充時失去響應能力
- 4. 使用來自API端點的響應填充BackboneJS模型
- 5. API響應填充了奇怪的字符
- 6. 如何用外部API響應填充ListBox?
- 7. jQuery Datatables - 表未填充Ajax響應
- 8. 響應DIV填充整個屏幕
- 9. 響應網格填充圖片問題
- 10. fancybox縮略圖的響應填充
- 11. 緩存getJSON響應,填充選擇框
- 12. 響應式圖像 - 額外填充?
- 13. 從XML填充列表<>響應
- 14. 從JSON填充選擇2 Ajax響應
- 15. VUE JS - Ajax響應我已填充
- 16. 在Windows中的Outlook電子郵件響應填充
- 17. 如何先填充列然後用css網格響應地填充行?
- 18. 在動態字段上自動填充ajax響應
- 19. 填充在響應電子郵件設計
- 20. 從Struts2響應中填充ExtJS4組合框
- 21. 響應式圖像中的奇怪填充
- 22. 如何從JSON響應中填充列表<Object>
- 23. Jquery JSON響應以填充表格中的許多字段
- 24. Google自動填充API
- 25. 從REST API填充SQL Azure
- 26. Html正在從右側移動和平板電腦響應視圖中填充一些填充
- 27. 如何填充在Drupal的形式API
- 28. 在api請求上填充文本框
- 29. 在VBA中填充
- 30. 在asp.net中填充