c++ - Linux 服务器中的接收缓冲区大小

标签 c++ c sockets tcp

Linux 服务器上的最大接收缓冲区大小是多少?每当缓冲区大小大于 ~1300 时,我就会遇到接收失败的情况。

最佳答案

TCP 对传递的缓冲区大小没有理论上的限制。

不过,请注意,在执行 TCP recv() 时很可能返回时收到的字节数少于被告知的字节数。

该函数返回实际接收到的字节数。

然后代码就可以循环 recv() 直到收到所有预期的数据。

关于c++ - Linux 服务器中的接收缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810240/

相关文章:

c - 如何解析c中的操作?

C++ I/O 文件流相对于 C 语言的优势

C - 套接字网络 - 字符串不会产生相等性

java - 如何修复 Broken Pipe Socket 异常 (Java)?连接在哪里被关闭?

c++ - 在 unix/win32 上高效计算用于日志记录的日期/时间戳

c++ - 我怎么能用cmake自动匹配所有子目录

c - Windows 线程的奇怪行为

Python `socket.getaddrinfo` 需要 5 秒大约 0.1% 的请求

c++ - 如何将char转换成它的ascii二进制码

c++ - 尝试引用已删除函数的唯一指针