[ruby-list:50371] Re: [質問] Ruby socket.send でUDP Packet が出ない? ネットワーク環境によるものか?
From:
<yamataka@...08.itscom.net>
Date:
2016-08-05 04:11:33 UTC
List:
ruby-list #50371
市田さん 山口です。 >> 5. ローカルポート確認 >こちら、別メールにて、報告させていただきます。 結論から、今までご相談させていただいた諸々の症状が Windows版Rubyを使用すると、正常に動作しました。 サポートいただき大変ありがとうございました。 結果以降に記載しておりますが、Laptop+Wi-Fi AP 2台のみの環境時には、recv で受けていないのは、よく理解できていないですが... 普段からCygwinでの環境をメインにしており、Windows版Rubyはインストールし ておらず、 Cygwin版とWindows版Rubyで挙動の違いはないだろうという思い込みで、 Windows版を試してみるという発想にまで至らず、お手数をお掛けしました。 以下、結果になります。 [Ruby] Windows版 2.3.1p112 (2016-04-26 revision 54768) [x64-mingw32] Cygwin版 2.2.5p319 (2016-04-26 revision 54774) [x86_64-cygwin] (*) (*) cygwin package では最新 version ■Laptop + Wi-Fi AP (2台環境) Laptop: Wi-Fi AP有線接続 プログラム: 市田さんご提供コード [Cygwin版] 64292 0.0.0.0 なにも返ってこず [Windows版] 53335 0.0.0.0 なにも返ってこず ネットワーク内に、Wi-Fi APだけの場合、Wi-Fi APからSSDP Notify Packetが出 てくるのが、 1分後や長い時では、2分30秒後に出てくるとか... (挙動よく分からず...)にな り、 プログラムは、ブロックしたまま。 ■Laptop + Wi-Fi AP + DLNA対応Audioセット1台 (3台環境) Laptop: Wi-Fi AP 有線接続 DLNA対応Audioセット: Wi-Fi AP 有線接続 (ハブ介して) プログラム: 市田さんご提供コード [Cygwin版] 58886 recv 467 bytes ... (recv 17段程続く) [Windows版] 57543 recv 467 bytes ... (recv 17段程続く) DLNA機器を1台追加してみると、DLNA対応Audioセットも、SSDP Notify Packetを 出し来るので そのPacketをrecvしていると思われる ■Laptop + Wi-Fi AP + DLNA対応Audioセット1台 ↑と同じ環境で プログラム: easy_upnp付属 upnp-list (市田さんによるコード改善適用) [Cygwin版] Starting SSDP search... ブロック (Timeoutせず) [Windows版] Starting SSDP searc... Found 3 devices (以下正常に出力) Windows版では正常に動作する事が確認できました。