在接收操作中應該預期的最大數據大小是多少?必須發送的數據非常大,但是在某些時候,我猜會發生數據包碎片?tcp/ip套接字的接收緩衝區大小
1
A
回答
1
有somethng像最大網絡包大小:
這指示通過網絡的數據傳輸過程中的最大尺寸截止低電平緩衝液(3 ISO/OSI層IP)(未回送)。 以太網絡中通常爲1492。
因此,將數據傳輸優化爲此數量的大小是值得的。
(也有所謂的Jumbo frames打破這個規則,但必須是接受軟件/硬件)
但是簡單的recv()上的插座,可以比MTU返回多個字節。 因此,您需要傳輸第一個數據包與其餘數據的大小。
size = recv(512) // size should came in one shot
while(count(data) == size) // the rest of actual data can came sliced, so You should receive until size
data[offset] = recv(size)
6
- 您可以隨時限制緩衝區的recv(大小)將填補(參數)
- 您的應用程序設計不應該是字節的recv(金額大小寫)願意在一個提供呼叫。
它與MTU沒有多大關係。在某些TCP堆棧設計中,對recv()的一次調用不會返回多於一個底層數據包協議的數據報。在其他情況下,它可能與套接字的接收緩衝區一樣大。
相關問題
- 1. 套接字接收緩衝區大小
- 2. 設置接收和發送緩衝區的套接字緩衝區大小
- 3. C++套接字緩衝區大小
- 4. 接受的套接字的設置緩衝區大小
- 5. C#套接字編程 - 如何確定接收緩衝區的大小
- 6. 緩衝區大小在c + +套接字連接
- 7. 但UDP套接字接收緩衝區大小是否會影響延遲?
- 8. iPhone的最大套接字緩衝區大小
- 9. 套接字和緩衝區
- 10. Linux套接字緩衝數據大小
- 11. Python的套接字客戶端recv(緩衝區大小)
- 12. 套接字和文件建議的緩衝區大小
- 13. 套接字編程的緩衝區大小是多少?
- 14. 通過套接字發送文件 - 緩衝區大小
- 15. C++套接字256字節緩衝區
- 16. 爲什麼接收的緩衝區大小比原來通過套接字發送的大?
- 17. TCP接收緩衝區
- 18. 套接字緩衝區與套接字的綁定
- 19. 套接字緩衝區大小:優點和缺點更大或更小
- 20. 小信息的套接字緩衝大小
- 21. 解釋套接字緩衝區請
- 22. Linux套接字緩衝區不平衡
- 23. Java套接字緩衝區問題
- 24. 查詢C中的最大套接字發送緩衝區大小?
- 25. 接收套接字大小限制好?
- 26. 沒有填充接收緩衝區的UDP緩衝區溢出?
- 27. C#套接字:客戶端在接收大緩衝區時沒有收到所有字節
- 28. 爲什麼在設置套接字發送/接收緩衝區大小高於sysctl max時沒有錯誤?
- 29. TCP套接字緩衝區大小也應該是MSS的偶數倍爲
- 30. C#通過套接字和TCP發送巨大和小的數據緩衝區
「*大小應該是一個鏡頭*」嗯......爲什麼?! – 2017-08-14 05:02:30