Windows XP と Windows Vista では、UDP マルチキャスト ソケットをセットアップするために必要な実装が変更されているようです。具体的には:
Windows XP では、マルチキャスト固有のソケット オプションを参照する前に呼び出す必要があります。
bind()
ただし、Windows Vista では、マルチキャスト ソケットを処理するときに呼び出してはなりません。
bind()
これら 2 つの点のいずれかが失敗すると、実行時にソケット エラーが発生します。
私は気が狂っていますか、それとも他の人もこれを見たことがありますか? bind() 呼び出しの条件付きコンパイルよりも良い解決策はありますか?