[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版では正常に動作する事が確認できました。



In This Thread