C/C++复合TCP

4
在命令提示符中,我可以使用以下命令:
netsh int tcp set global congestionprovider=ctcp
我想知道是否有一种在C/C++中以编程方式完成相同操作的方法,而不使用system()。 我假设我可能需要使用COM? 此外,关于如何在C/C++中访问我通常通过netsh访问的其他信息的信息也很好(例如:netsh int tcp show global)。
1个回答

0
阅读行间,这可能可以通过手动注册表修改来实现,就像Windows XP/Windows Server 2003 backport of CTCP中描述的那样。假设你需要使用RegSetValueEx将给定值设置为1,并使用RegQueryValueEx检查此时的状态。
When you apply this hotfix, the following registry subkey is created: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
The properties of this subkey are as follows: 
Name: TCPCongestionControl
Type: REG_DWORD
Value: 1
When the value is set to 1, CTCP support is enabled. When the value is set to 0, CTCP support is disabled.

无论这对你来说是否有效,或者是否需要重新启动,取决于以下两点:1)适当的组件是否自动检测注册表修改;2)在较新的操作系统中是否只有这些修改。不过,似乎这并不难尝试一下。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接