ブロードキャスト送信用のポートでリッスンしている UDP ソケットがあり、正常に動作しています。
ただし、休止状態にして OS (Windows 7) を再開すると、ソケットはデータの受信を停止します (そして、Wireshark を使用してデータが到着していることがわかります)。
これは、IP アドレスの変更、ネットワーク アダプターの無効化と有効化などのネットワーク設定を変更した場合にも発生します。
OS は、休止状態のときにすべてのネットワーク アダプターを無効にし、再開時に再度有効にするようです。
select
(タイムアウト) を返すだけ0
で、データを受信していない場合と同じです。この動作への参照はどこにも見つかりませんでした。
ソケットを閉じて再作成すると、再び機能し始めます。
OS を再開した後も、TCP リスニング ソケットは正常に動作します。
この状況をどのように検出して修正するかについてのアイデアはありますか?
編集:まだ直接アドレスデータを受信していますが、ブロードキャスト送信を受信していません。
EDIT2:ソケットに書き込む(ダミーパケットをどこにでも送信する)と、再び機能し始めることがわかりました...