3

インターネット接続が失われた後に再確立されたときにイベントを取得しようとしています。私が開発しているデータ転送ソフト用です。データ転送中にネットワークが切断された場合、ネットワークが復旧したときに通知を受けて、転送を自動的に続行したいと考えています。

もちろん、別のスレッドを作成して、タイマーを使用して時々ネットワークをチェックすることもできますが、もっと良いオプションがあるかもしれません。

私は主に Windows 用に C++ (.net ではありません) で開発しています。

wxwidgets も使用できます (GUI に使用します) が、関連する機能が提供されているとは思えません。

4

4 に答える 4

2

System Event Notification Server(SENS)APIhttp://msdn.microsoft.com/en-us/library/cc185680(VS.85).aspxを確認することをお勧めします

私は実際に使ったことがありませんが、あなたが探しているイベントを提供しているようです。

編集:

WMIには、さまざまなネットワーク接続と状態の変化について必要なすべての情報があるようです。また、通知を取得するために使用できる非同期イベントモデルもあります。秘訣は、必要な情報を取得するための適切なWMIクエリを生成することだと思います。このブログは適切なタイプのクエリのように見えます。このMSDNでは、イベントを非同期で処理する方法について説明しています。

于 2010-01-20T22:46:36.680 に答える
0

どのプロトコルを使用しているのか、宛先を制御できるのかどうかはわかりませんが、その場合、宛先は再試行のためにポーリングできます。宛先は受信した内容を最もよく知っているため、受信したバイト数を再送信のオフセットとして指定できます。

于 2010-01-20T13:27:25.250 に答える
0

この MSDN リンクは、COM を使用して WMI でイベントをキャプチャする方法の非常に詳細な例を示しています。この例は実際にはネットワーク イベントをキャプチャしていませんが、適切なクエリをプラグインすればうまくいくと思います。

(ここにはたくさんのコードがあるので、回答にコピーしていません) http://msdn.microsoft.com/en-us/library/aa390425%28v=vs.85%29.aspx

于 2014-05-04T19:36:27.203 に答える