在接收操作中应该预期的最大数据大小是多少?必须发送的数据非常大,但是在某些时候,我猜会发生数据包碎片?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. C++套接字缓冲区大小
- 5. udp套接字中的接收缓冲区/队列的最大大小
- 6. Android DatagramSocket接收缓冲区大小
- 7. netty接收大缓冲区
- 8. 接受的套接字的设置缓冲区大小
- 9. C++套接字编程TCP/IP套接字缓冲区的最大大小?
- 10. C#套接字编程 - 如何确定接收缓冲区的大小
- 11. 缓冲区大小在c + +套接字连接
- 12. 但UDP套接字接收缓冲区大小是否会影响延迟?
- 13. iPhone的最大套接字缓冲区大小
- 14. 套接字和缓冲区
- 15. Linux套接字缓冲数据大小
- 16. 更改Windows下的默认套接字缓冲区大小
- 17. 套接字编程的缓冲区大小是多少?
- 18. Python的套接字客户端recv(缓冲区大小)
- 19. 套接字和文件建议的缓冲区大小
- 20. 异步客户端套接字,增加缓冲区大小
- 21. 套接字缓冲区大小不增加
- 22. 在Tomcat/Jetty上设置套接字发送缓冲区大小
- 23. 我可以获得套接字缓冲区剩余大小吗?
- 24. 通过套接字发送文件 - 缓冲区大小
- 25. Linux上的UDP套接字;发送成功但无法接收大缓冲区
- 26. C++套接字256字节缓冲区
- 27. 为什么接收的缓冲区大小比原来通过套接字发送的大?
- 28. TCP接收缓冲区
- 29. 套接字缓冲区与套接字的绑定
- 30. 套接字缓冲区大小:优点和缺点更大或更小
“*大小应该是一个镜头*”嗯......为什么?! – 2017-08-14 05:02:30