2012-11-25 156 views
1

我使用下列其中發送UDP多播數據包的程序代碼段,JoinMulticastGroup拋出無效參數異常?

但我得到異常劈頭

 static void Main(string[] args) 
    { 
     UdpClient udpclient = new UdpClient(); 

     IPAddress multicastaddress = IPAddress.Parse("239.0.0.222"); 

     // Here I get System.Net.Sockets.SocketException , An invalid argument was supplied 
     udpclient.JoinMulticastGroup(multicastaddress); 

     ... 

在那裏我有這個問題是Windows XP中的mahcine。當我在另一臺機器上運行相同的代碼(Windows 7)時,我不會得到這個異常,任何想法可能是錯誤的?

感謝

+0

您是否找到解決方法,使用多播選項創建套接字時遇到完全相同的問題 – J4N

回答

0

嘗試將端口添加到udpclient像

udpClient = new udpClient(9000) //or IPEndPoint with IPAddress and Port 

與微軟udpclient反正處理是安靜的痛苦

+0

這是否真的可以解決問題?還是它修復了一個不同的問題? – EJP

+0

它解決了這個問題,因爲客戶端需要一個端口來監聽一個地址。 – Gobliins

+0

你好,我面臨同樣的問題,但上面的解決方案是不是在我身邊工作,請幫助.... – John

2

爲了避免套接字錯誤10048:

嘗試:

UdpClient udpclient = new UdpClient(); 
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, _listenPort); 
udpclient.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); 
udpclient.ExclusiveAddressUse = false; 
udpclient.Client.Bind(ipEndPoint); 
相關問題