2014-11-04 19 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); 
相關問題