套接字错误请求的地址不在其上下文中有效
问题描述:
,同时试图使用来设置SocketOption:套接字错误请求的地址不在其上下文中有效
listener.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.AddMembership, new MulticastOption(ipAddress));
我收到以下异常;
请求的地址不在其上下文中有效
我listmer是:
Socket listener = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
和IP是3.212.x.x
这是因为IP的问题?
答
问题是,在此声明:
listener.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.AddMembership, new MulticastOption(ipAddress));
MSDN轮廓此构造为:
public MulticastOption(
IPAddress group
)
所以MulticastOption寻找一组播放,但我已经通过localIP,那是问题。
我,而不是我更新了我的代码:
IPAddress ip = IPAddress.Parse("224.5.6.7");
Socket _socketServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
ProtocolType.Udp);
_socketServer.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.AddMembership, new MulticastOption(ip));
_socketServer.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.MulticastTimeToLive, 1);