Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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#-WireShark检测到输入的数据包,但应用程序不接收它们_C#_Sockets_Udp_Wireshark - Fatal编程技术网

C#-WireShark检测到输入的数据包,但应用程序不接收它们

C#-WireShark检测到输入的数据包,但应用程序不接收它们,c#,sockets,udp,wireshark,C#,Sockets,Udp,Wireshark,我有一个奇怪的问题。我有一个客户端向我的服务器发送数据包,但我的服务器UDP套接字从不接收数据包。同样的事情反过来发生,如果我发送,他尝试接收 检查从wireshark捕获的此图像: 我已将UDP套接字绑定到端点192.168.2.3(服务器的内部IP)和端口9998。 客户端将数据发送到我的IP,然后将其转发到本地服务器计算机。。 正如您所看到的,wireshark清楚地检测到192.168.2.3的目标端口为9998的输入数据包,但没有发送任何数据包 (…为什么会在目标端口中显示disti

我有一个奇怪的问题。我有一个客户端向我的服务器发送数据包,但我的服务器UDP套接字从不接收数据包。同样的事情反过来发生,如果我发送,他尝试接收

检查从wireshark捕获的此图像:

我已将UDP套接字绑定到端点192.168.2.3(服务器的内部IP)和端口9998。 客户端将数据发送到我的IP,然后将其转发到本地服务器计算机。。 正如您所看到的,wireshark清楚地检测到192.168.2.3的目标端口为9998的输入数据包,但没有发送任何数据包


(…为什么会在目标端口中显示distinct32 btw?

另外需要注意的是,确保您可能运行的任何防火墙都具有允许在端口9998上进行通信的规则设置

如果我不得不猜测(需要查看您的接收C#代码才能知道),看起来您可能试图接收UDP数据包,但在客户端使用TCP协议。(或者我可能只是误解了你截图中的一些文字。)

使用UDP时,无需“侦听”连接。UDP数据包没有连接/断开连接协议。它们也不能保证数据包的接收顺序与发送顺序相同

试着在你的C#客户机中使用类似的东西,看看你是否得到了数据

var udpClient = new System.Net.Sockets.UdpClient(9998);
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);

你的问题没有给出任何可能出错的线索。您的代码中可能有一个bug。我不知道可能有什么问题;UDP套接字绑定到正确的端点并从正确的端点接收。receiveFrom callback从未触发过,我知道这可能是为什么。除了错误的端点(我知道是正确的)之外,还有什么会影响到这一点?请回答最后一个问题:因为这是通常使用此端口的(非官方)服务:您是否检查了在数据到达应用程序之前丢弃数据的防火墙?UDP/TCP端口9998由“distinct32”服务或应用程序使用。我找不到关于它到底是什么的任何信息。这就像Wireshark将TCP端口25替换为“smtp”。您好,不,它不工作:(我不知道为什么它不工作,TCP工作正常,但不是UDP。