システムが新しいIPアドレスを受信したかどうかをどのように検出できますか?
私のプログラムはすべてのローカルIPを読み取りDNS.GetHostAddress
、それぞれにソケットをバインドします。ただし、一時停止した後、プログラムに接続できません。
System.Net
システムが新しいIPアドレスを受信したときに通知するイベントはありますか?回避策についての私の現在の考えは、現在のインターフェースをチェックする追加のスレッドです。
ハードウェアの可能性があります。コンピューターがイーサネットまたはwifi経由で接続されている場合、これは発生しますか?問題は両方の方法で発生しますか?
イーサネットとwifiの両方を試して、コンピューターを休止状態にしてから、まだ問題が発生するかどうかを確認します。
System.Net.NetworkInformation.NetworkChange.NetworkAddressChangedイベントを使用することをお勧めします。
こちらをご覧ください:http: //msdn.microsoft.com/en-us/library/system.net.networkinformation.networkchange.networkaddresschanged.aspx
これが機能するかどうかを確認するのは興味深いでしょう。有望に見えます。
そうでない場合は、n秒ごとにポーリングすることをお勧めしますが、nが妥当なレベルであるかどうかは疑問ですが、パフォーマンスに大きな影響を与えますか?