2017-08-16 57 views
-1

我正在爲公式1遊戲構建一個類似網站的儀表板。我跟着這個guide。 (部分:啓用UDP遙測輸出)C# - UDP SocketException - 應用程序之間的衝突

基本上,遊戲使用UDP在127.0.0.1:20777上發送數據包,並且我試圖在我的應用程序中接收這些數據包。

我的問題是,當我嘗試接收數據包時,遊戲和我的應用程序之間似乎存在某種衝突。例如,如果我在遊戲未運行時編譯應用程序,它編譯得很好,但當然,我沒有收到任何數據。

一旦遊戲開始,我無法編譯,並得到一個SocketException,它說:「通常只允許使用每個套接字地址(協議/網絡地址/端口)」。

我試過如下:

UdpClient client = new UdpClient(20777);

UdpClient client = new UdpClient(); IpEndPoint ip = new IpEndPoint(IpAdress.Any, 20777); client.Connect(ip);

第一個解決方案拋出 「只有一個使用...」,並將第二溶液拋出「接受請求地址在其上下文中無效「。我對UDP很陌生,所以我不知道我在做什麼錯誤或如何解決它。

謝謝!

回答

0

我相信你應該嘗試在端口20777上試聽而不是嘗試連接。

可能是這樣的:

var client = new UdpClient(); 
IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 20777); // endpoint where server is listening 
client.Connect(ep); 

// then receive data 
var receivedData = client.Receive(ref ep); 

Console.Write("receive data from " + ep.ToString()); 

Console.Read(); 
+0

我給它一個鏡頭,當我今晚回家,謝謝! – JetPrime