0
我有一個可以在Windows 7上正常工作的小軟件。它在udp上使用多播進行一些發現。在Windows XP上的組播套接字?
我開始在Windows XP上做一些測試,並且出現了一些錯誤。
Socket sendSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//ERROR HAPPEN ON THIS NEXT LINE
sendSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(m_multicastAddress, localAddress));
sendSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, 255);
sendSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
sendSocket.MulticastLoopback = true;
sendSocket.Bind(new IPEndPoint(localAddress, m_port));
m_sendSockets.Add(localAddress, sendSocket);
例外情況是:
System.Net.Sockets.SocketException was unhandled
Message=An invalid argument was supplied
Source=System
ErrorCode=10022
NativeErrorCode=10022
StackTrace:
at System.Net.Sockets.Socket.setMulticastOption(SocketOptionName optionName, MulticastOption MR)
at System.Net.Sockets.Socket.SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, Object optionValue)
at [****]
我在一個100行控制檯程序測試的代碼只有這一部分。它在Windows 7上正常工作,但總是在XP上崩潰。
你對如何調試/解決這個問題有任何想法嗎?
也許這只是我..但我似乎無法找到XP作爲'MulticastOption'的支持平臺..也許它不是? – 2013-03-22 12:48:48
[C#SocketException與多播在XP上]的可能重複(http://stackoverflow.com/questions/436659/c-sharp-socketexception-with-multicast-on-xp) – Ruud 2013-08-14 06:22:02