【问题标题】:Modify default value of socket buffer sizes in windows修改 Windows 中套接字缓冲区大小的默认值
【发布时间】:2017-03-14 08:25:34
【问题描述】:

在socket编程中,当RAM大于19MB时,SO_SNDBUF和SO_RCVBUF的默认值为8192字节。

现在,我想更改我的套接字的套接字缓冲区大小。我知道一种方法是通过 setsockopt。但是,我想将更改应用到系统默认值,并且能够对我在系统中创建的所有套接字使用套接字缓冲区的修改值。请告诉我在 windows 平台的哪里进行配置更改?

【问题讨论】:

    标签: c windows sockets


    【解决方案1】:

    这里有它是如何工作的描述: http://smallvoid.com/article/winnt-winsock-buffer.html

    解决办法应该是:

    [HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \Afd \Parameters]
    DefaultReceiveWindow = 16384
    DefaultSendWindow = 16384
    

    【讨论】:

    • 虽然我添加了这个参数,但套接字并没有选择这个值。它只使用它的默认值。你有什么建议吗?
    • @sreepurna 修改注册码后重启服务了吗?你也许可以使用 netsh(但我不知道 excat 命令)或者你可以重新启动系统。
    猜你喜欢
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    相关资源
    最近更新 更多