NotifyRouteChange() に登録し、非同期呼び出しで待機するアプリケーションがあります。Windows OS によるルーティング テーブルの変更に基づいて、この API がコールバックされることがわかっています。Windowsがこの機能をトリガーする理由について、さらに情報が必要ですか?
私の環境の 1 つである Win 7 Professional では、1 秒以内に 100 件の IP アドレス変更通知が届きます。それを減らす方法は?
ありがとう、サラバナ
NotifyRouteChange() に登録し、非同期呼び出しで待機するアプリケーションがあります。Windows OS によるルーティング テーブルの変更に基づいて、この API がコールバックされることがわかっています。Windowsがこの機能をトリガーする理由について、さらに情報が必要ですか?
私の環境の 1 つである Win 7 Professional では、1 秒以内に 100 件の IP アドレス変更通知が届きます。それを減らす方法は?
ありがとう、サラバナ
環境の問題のようです。
利用した
ret = NotifyAddrChange(handle, &overlap);
ret = NotifyRouteChange(handle, &overlap));
次に、これらの登録を監視するためのコールバック機能があります。IP アドレスに変更があった場合、これらのコールバックが開始されました。そして、これらのコールバック関数は、これらの通知を他のスレッドに渡して処理し、同じ API に再度登録します。
この問題は、すべてのマシンで発生するわけではなく、特定の環境で発生します。私は何の問題も起こさないネットワークを持っています。
待機可能なタイマーを使用してイベントを抑制し、最後の NW 変更イベントから最短時間後にイベント ハンドラーが起動するようにします。
基本的に、アドレス/ルート変更イベントを受け取ったとき: