0

ここの非常に基本的なサンプル コード ( http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/92846ccb-fad3-469a-baf7-bb153ce2d82b/ ) を使用して、2 つのコンソール アプリケーションを作成しました。1 つは UDP 経由でデータを送信し、2 番目のアプリケーションはそれを受信して​​表示します。私はポート 5115 でそれを行いましたが、すべて正常に動作します。送信者はランダムな文字列を 127.0.0.1:5115 に送信し、リスナーはそれを正しく受信します。

ポート 5115 で、私がプレイしていたのと同じ PC に UDP パケットを送信するデバイスがあります。同じリスナー コードを使用しても、まったく何も受信しません。奇妙なのは、同じ PC で実行されている Wireshark がパケットを問題なく認識していることです。

ここに画像の説明を入力

ここで何が間違っているのかまったくわかりません。Wireshark がこのデータをすべて見ているのと同じポートで 0 バイトを受信しました! いくつか提案をお願いできますか?

ありがとう!

4

2 に答える 2

0

ループバックアドレス「127.0.0.1」でパケットを送信していると思います。Listener と Sender アプリケーションの両方を同じマシンで実行すると、問題なく動作します。ただし、センダーを別のデバイスで実行し、リスナーを別のデバイスで実行すると、通信は失敗します。

Sender のアプリケーションのループバック アドレスを Listener マシンの IP アドレスに変更してみてください。

リスナーのマシンでコマンド プロンプトに移動すると、リスナーの IP アドレスを確認できます。「ipconfig」と入力し、Enter キーを押します。出力には、IPv4 アドレスが表示されます。「127.0.0.1」をこのIPv4アドレスに変更してみてください。

于 2013-05-31T06:06:15.440 に答える
0

ため息問題は Windows ファイアウォールでした。Wireshark がローカル ファイアウォールの前にパケットをインターセプトすることを知りませんでした。3 日間の無駄遣い…ハハ!

于 2013-06-04T04:27:46.293 に答える