takahashi-h
2024年6月14日 16時09分
Armadillo-X2にて1対1のUDP送受信はできるけど、ブロードキャストが出ない状態で困っております。
ABOSDEの、Python New ProjectからPythonで開発しています。
(ラズパイで開発済みのコードを移植中、本件で困っている状態)
Armadillo-X2 192.168.0.1 (送信元)
PC 192.168.0.2 (受信確認用)
※他にも同じネットワーク上に別装置がいます
<コード>
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(b'test', ('255.255.255.255', 50000))
※ラズパイ時はこれで送信されていた
<確認したこと>
①「TCP/UDPの送信はできるけど受信ができない」
https://armadillo.atmark-techno.com/forum/armadillo/20695
でご教示いただいた方法で、
app.conf
に
add_ports 50000:50000/udp
を追加してみた。
→×
②送信先を
255.255.255.255→192.168.0.255
に変更してみた。
→×
※ちなみに、192.168.0.2にすると受信しますが、ブロードキャストではない。
コメント
takahashi-h
山崎様、ご提案ありがとうございました。
→ブロードキャストするようになりました。
ありがとうございます。
<詳細>
> "255.255.255.255" を "192.168.255.255" にしてみる
→これはダメでした。
> app.conf に "set_network host" を追加する
→こちらでOKでした。
ちなみに、このとき
○ "255.255.255.255"
× "192.168.255.255"
○ "192.168.0.255"
という結果でした。
(元々のプログラムの"255.255.255.255"としました)
at_reika.yamazaki
at_reika.yamazaki
2024年6月14日 18時12分
お世話になっております。
山崎です。
コード内のアドレスですが、"255.255.255.255" を "192.168.255.255" にしてみるとどうなるでしょうか?
もし上記でもうまくいかない場合は app.conf に "set_network host" を追加することで、
ホスト側のネットワークをすべてコンテナに渡すことができます。こちらだといかがでしょうか。
以上、お確かめいただけますと幸いです。
どうぞよろしくお願いいたします。