快速的问题,想知道是否有人知道在Windows下SO_RCVBUF的限制。
winsock中的SO_RCVBUF不受TCP窗口大小的限制。 至少在Vista之前的版本中。 这将受到非分页池可用性的限制,这是一个完全不同的主题。 所以如果你愿意,你可以把它做得很大。
强制性的不请自来的建议:如果您使用较大的缓冲区,因为您不经常收到,我会查看事件/选择/完成端口的异步I / O。
我无法确定,但是我相信Windows支持使用_PC_SOCK_MAXBUF
选项的POSIX函数fpathconf()
。 如果是这样,这正是你正在寻找的。
根据这篇文章 ,它看起来最大是64K。