提问人:nwalters 提问时间:7/22/2023 最后编辑:Remy Lebeaunwalters 更新时间:7/24/2023 访问量:128
使用 c++ 在 Windows 计算机上添加新 IPv4 地址的最快方法是什么?
What is the fastest way to add a new IPv4 address on a windows computer using c++?
问:
我一直在使用 AddIPAddress()
函数添加新的 IP 地址,但是在该地址可用于通信和端口绑定之前有 ~4 秒的延迟。
我已经研究了添加 IP 的其他方法,并遇到了一种使用该函数运行命令的方法,该方法还添加了一个可用的 IP,但存在相同的问题,即在添加的 IP 可用之前需要 ~4 秒。我也尝试使用该命令来设置 IP 地址,但它在可用之前同样具有相同的 ~4 秒延迟。std::system()
Netsh interface ipv4 add address
Netsh interface ipv4 set address
所以,我很好奇,有没有一种不同的方法可以通过 C++ 在 Windows 机器上添加(或设置)我可能没有找到的 IP 地址?或者,这种延迟是不可避免的,因为我无法控制的事情吗?
我不需要这个新的 IP 地址立即可用,任何可以将此时间缩短到 2 秒以下的东西都应该可以工作。另外,我更喜欢一种即使在计算机重启后也能保留 IP 地址的方法,但乞丐不能成为选择者。
答:
1赞
YangXiaoPo-MSFT
#1
正如评论所说,使用适用于 Windows 的具体 winapi。不要增加新的复杂性。
此外,函数需要时间才能工作是正常的。
顺便说一句,根据 AddIPAddress,另一种方式
若要创建持久的 IPv4 地址,请使用 Windows 管理中 Win32_NetworkAdapterConfiguration 类的 EnableStatic 方法 可以使用检测 (WMI) 控件。
评论
std::system