1

奇妙な問題があります。サーバーにパケットを送信するクライアントがありますが、サーバーのUDPソケットがパケットを受信しません。私が送信して彼が受信しようとすると、同じことが逆に起こります。

Wiresharkからキャプチャされたこの画像を確認してください:http: //img263.imageshack.us/img263/2636/bokus.png

UDPソケットをサーバーの内部IPであるEndPoint192.168.2.3とポート9998にバインドしました。クライアントはデータを私のIPに送信し、ローカルサーバーマシンに転送する必要があります。宛先ポート9998で192.168.2.3の着信パケットを明確に検出しますが、何も配信されません。

(...宛先ポートでdistinct32 btwと表示されるのはなぜですか?)

4

1 に答える 1

0

他に注意すべきことは、実行している可能性のあるファイアウォールに、ポート 9998 での通信を許可するルールが設定されていることを確認することです。

推測する必要がある場合 (受信する C# コードを確認する必要があります)、クライアント側で TCP プロトコルを使用して UDP パケットを受信しようとしているようです。(または、スクリーンショットのテキストの一部を誤解している可能性があります。)

UDP を使用する場合、接続を「リッスン」する必要はありません。UDP パケットには接続/切断プロトコルがありません。また、パケットが送信されたのと同じ順序で受信されることも保証しません。

C# クライアントでこれらの行に沿って何かを使用してみて、データが得られるかどうかを確認してください。

var udpClient = new System.Net.Sockets.UdpClient(9998);
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
于 2010-12-03T18:03:05.370 に答える