C++: boost::asio : 我可以用于 TCP 套接字的最大缓冲区大小是多少?

C++: boost::asio : what's the maximum buffer size I can use for TCP sockets?

本文关键字:缓冲区 多少 套接字 asio boost 我可以 用于 C++ TCP      更新时间:2023-10-16

在此SSL客户端示例中,默认缓冲区大小为1K=1024字节。我能增加多少有实际的限制吗?如果我将缓冲区设置为100 MB,它是否可以正常工作,没有不可预见的问题?

注意缓冲区不只是保留大小;也传递给read()write()。在多大的规模下,这些函数会因规模限制而面临问题?这样的限制存在吗?我可以想象至少有一个限定的限制我可以用多少write()

除了int的最大值之外没有限制,但是大于套接字接收缓冲区的读缓冲区是没有意义的,因为超过的部分永远不能使用。