Windows 中 SO_RCVBUF 的最大值?

问题描述 投票:0回答:4

快速提问,想知道是否有人知道 Windows 下 SO_RCVBUF 的限制是什么。

c++ c windows networking sockets
4个回答
3
投票

winsock中的SO_RCVBUF不受TCP窗口大小的限制。至少对于 Vista 之前的堆栈来说是这样。它将受到非分页池可用性的限制,这是一个完全不同的主题。 所以如果你愿意的话,你可以把它做得很大。

强制主动建议:如果您因为不频繁接收而使用大缓冲区,我会研究带有事件/选择/完成端口的异步 I/O。


2
投票

我不太记得了,但我相信 Windows 支持 POSIX 函数

fpathconf()
以及
_PC_SOCK_MAXBUF
选项。如果是这样,这正是您正在寻找的。


0
投票

根据这篇文章,看起来最大是64K。


0
投票

基于MsQuic源码 最大 SO_RCVBUF 为 INT32_MAX

© www.soinside.com 2019 - 2024. All rights reserved.