【发布时间】:2012-06-27 04:29:12
【问题描述】:
如何检测我的系统是否收到了新的 IP 地址?
我的程序通过DNS.GetHostAddress 读取所有本地IP,并在每个IP 上绑定一个套接字。但是,在暂停后,我无法连接到我的程序。
System.Net 中是否有事件在系统收到新 IP 地址时通知我?我目前的解决方法是一个额外的线程来检查当前接口。
【问题讨论】:
-
您可能想检测您是否已进入或退出待机模式。
如何检测我的系统是否收到了新的 IP 地址?
我的程序通过DNS.GetHostAddress 读取所有本地IP,并在每个IP 上绑定一个套接字。但是,在暂停后,我无法连接到我的程序。
System.Net 中是否有事件在系统收到新 IP 地址时通知我?我目前的解决方法是一个额外的线程来检查当前接口。
【问题讨论】:
您可能想要使用 System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged 事件。
看看这是否有效会很有趣。看起来很有希望。
如果不是,您可能希望每 n 秒轮询一次,这不是很漂亮,但我怀疑 n 是否是一个合理的水平,它会对性能产生很大影响吗?
【讨论】:
可能是硬件。如果您的计算机通过以太网或 wifi 连接,会发生这种情况吗?问题是双向出现的吗?
我会同时尝试以太网和 wifi,让计算机进入休眠状态,然后检查您是否仍有问题。
【讨论】: