標準ライブラリモジュールソケットの実装。
最初に使用される名前を導入しました:
- AF_INET:IPv4の
- SOCK_DGRAM:UDP
- SOL_SOCKET:ユニバーサルソケットオプション
- SO_BROADCAST:广播
サーバー側:
import socket
import time
PORT = 6000
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
while True:
time.sleep(1)
s.sendto(b'Hello!', ('<broadcast>', PORT))
クライアント:
import socket
PORT = 6000
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((socket.gethostname(), PORT))
while True:
data, address = s.recvfrom(1024)
print(data.decode())
説明:
サーバコードは、UDPブロードキャストによって、上記伝送実装Hello!
情報をクライアントに。
従来のUDP輸送と比較して、主に放送サーバのブロードキャスト機能を開くためのコードを追加し、アドレス情報セットを送信します<broadcast>
。