Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-UDP SocketException-应用程序之间的冲突_C#_Asp.net_Udp - Fatal编程技术网

C#-UDP SocketException-应用程序之间的冲突

C#-UDP SocketException-应用程序之间的冲突,c#,asp.net,udp,C#,Asp.net,Udp,我正在为一级方程式比赛建立一个类似仪表板的网站。 我遵循了这一点。(部分:启用UDP遥测输出) 基本上,游戏使用UDP在127.0.0.1:20777上发送数据包,我正在尝试在我的应用程序中接收这些数据包 我的问题是,当我试图接收数据包时,游戏和我的应用程序之间似乎存在某种冲突。例如,如果我在游戏未运行时编译应用程序,它编译得很好,但当然,我没有收到任何数据 一旦游戏开始,我就无法编译,并得到一个SocketException,上面说“每个套接字地址(协议/网络地址/端口)通常只允许使用一次”

我正在为一级方程式比赛建立一个类似仪表板的网站。 我遵循了这一点。(部分:启用UDP遥测输出)

基本上,游戏使用UDP在127.0.0.1:20777上发送数据包,我正在尝试在我的应用程序中接收这些数据包

我的问题是,当我试图接收数据包时,游戏和我的应用程序之间似乎存在某种冲突。例如,如果我在游戏未运行时编译应用程序,它编译得很好,但当然,我没有收到任何数据

一旦游戏开始,我就无法编译,并得到一个SocketException,上面说“每个套接字地址(协议/网络地址/端口)通常只允许使用一次”

我尝试了以下方法:

UdpClient客户端=新的UdpClient(20777)

UdpClient client=new UdpClient();
IpEndPoint ip=新的IpEndPoint(iPAddress.Any,20777);
客户端连接(ip)

第一个解决方案抛出“只有一个用法…”,第二个解决方案抛出“请求的地址在其上下文中无效”。我对UDP非常陌生,所以我真的不知道我做错了什么或者如何修复它


谢谢

我认为您应该尝试监听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();

今晚回家后我会试一试的,谢谢!