こちらの記事を参考にしました。
UDPでデータを受信する最も単純なPythonコード(Jupyter notebook版)
次のバージョンで確認しました。
$ python3 --version
Python 3.7.3
ポート 8092 の受信
```py:receive.py
# ! /usr/bin/python3
#
# receive.py
#
# Aug/25/2021
#
import socket
import sys
udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp.bind(("0.0.0.0",8092))
sys.stderr.write("*** start ***\n")
while True:
try:
rcv_byte = bytes() #バイトデータ受信用変数
rcv_byte, addr = udp.recvfrom(1024) #括弧内は最大バイト数設定
msg = rcv_byte.decode() #バイトデータを文字列に変換
print(len(msg))
print(msg)
if msg.strip() == 'close':
udp.close()
break
except KeyboardInterrupt:
udp.close()
ポート 8092 に udp で送信するスクリプト
echo 'Good Morning' | ncat -4 -u -w 1 localhost 8092
終了させるスクリプト
echo 'close' | ncat -4 -u -w 1 localhost 8092