套接字错误请求的地址在其上下文中无效
本文关键字:上下文 无效 地址 错误 请求 套接字 | 更新日期: 2023-09-27 18:28:58
尝试使用设置SocketOption时
listener.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.AddMembership, new MulticastOption(ipAddress));
我得到了以下异常;
请求的地址在其上下文中无效
我的列表是:
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);