• ベストアンサー

一度内部から通信が必要なUDP通信

よろしくお願いします。 UDPの通信プログラムを作成しています。 特定のPCだけ内部から一度相手に送信を行わないと受信ができません。 同じWin7のPCでも特定のPCのみこのような振る舞いとなります。 パケットキャプチャでは、データが届いていることを確認できていますが 一旦相手と通信を行うまでデータを受けてない振る舞いとなります。 ファイヤウォールを無効にしたりと試してみたのですが状況は変わりません。 このような状況についてアドバイス頂ければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

No.1です。 > 全てLAN内のPC同士です。 その通信はLAN内のPC同士の通信でありNATを挟んでいないということですか? だとしたらNo.1で示した資料を読んでも意味ないと思いますけど。 で、結局 「特定のPCだけ内部から一度相手に送信を行わないと受信ができません。」 というのは、どこからどこに送信したんですか? 「内部」というのは何を意味しているんですか?

その他の回答 (2)

  • washi001
  • ベストアンサー率41% (157/379)
回答No.2

ARPテーブルが出来ていないだけなのでは? UDPは再送が無いので、1発目の通信はたいていNGになり、1発目の通信で出来たARPデーブルで、 2発目以降の通信が通ったように思います。 あまり通信しないあて先にPingを投げると、1発目はNGですが、2発目以降はOKとなります。 それに良く似てるように思います。

回答No.1

説明が不足していると思いますが、「内部」というのは何の内部ですか? もしこの「内部」がNATルーターでアドレス変換したプライベートネットワーク側 という意味でしたら、そうなるのは当たり前の仕様です。 http://www.atmarkit.co.jp/fwin2k/experiments/skype02/skype02_04.html を読んでUDPのNATの仕組みを勉強してください。 NATを挟んでUDPで双方向通信する技術を「UDPホールパンチング」と言います。 以下も参考にするとよいと思います。 http://ja.wikipedia.org/wiki/UDP%E3%83%9B%E3%83%BC%E3%83%AB%E3%83%91%E3%83%B3%E3%83%81%E3%83%B3%E3%82%B0

tinysoho
質問者

お礼

ご回答、ありがとうございます。 そして説明不足ですみません、全てLAN内のPC同士です。 もしかすると複数のネットワークアダプターがあるのが原因かもしれませんが 基本知識不足ですのでまずは、ご紹介頂いた頁を熟読して考えてみたいと思います。