增加特定套接字的TCP接收窗口

rke*_*erm 8 c++ sockets windows winsock2

如何增加特定套接字的TCP接收窗口? - 我知道如何通过设置注册表项TcpWindowSize来为所有套接字执行此操作,但是如何针对特定的套接字执行此操作?

根据MSFT的文件,方式是

调用Windows套接字函数setsockopt,它基于每个套接字设置接收窗口.

但是在setsockopt中,提到了SO_RCVBUF:

指定为receive保留的每个套接字缓冲区空间总数.这与SO_MAX_MSG_SIZE无关,并且不一定与TCP接收窗口的大小相对应.

那有可能吗?怎么样?

谢谢.

Nik*_*sov 5

SO_MAX_MSG_SIZE用于UDP.这是来自MSDN:

SO_MAX_MSG_SIZE - 返回协议支持的面向消息的套接字的最大出站消息大小.对于面向流的套接字没有意义.

它也不可设置.

对于TCP只是使用SO_(SND|RCV)BUF.