XP で作成した C# アプリを実行すると問題なく動作しますが、Windows 7 では次のエラーが発生します。
「システムに十分なバッファ領域がなかったか、キューがいっぱいだったため、ソケットに対する操作を実行できませんでした」
私は次のことをしています:
socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
IPAddress localIPAddr = IPAddress.Any;
EndPoint localEP = new IPEndPoint(localIPAddr, MulticastPort);
socket.Bind(localEP);
MulticastOption mcastOption = new MulticastOption(MulticastAddress, localIPAddr);
socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, mcastOption);
byte[] bytes = new Byte[40960];
エラーは、最後の 2 行目の socket.SetSocketOption(...) で発生します。
UDP マルチキャストを行っていることがわかりますが、Windows 7 でこれを許可するために必要なことはありますか?