2014-11-04 27 views
1

,同时试图使用来设置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的问题?

回答

2

问题是,在此声明:

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); 
相关问题