udpmulticast/client.py

20 lines
581 B
Python

import socket
import struct
multicast_address = '224.0.0.251'
multicast_port = 5353
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('', multicast_port))
group = socket.inet_aton(multicast_address)
mreq = struct.pack('4sL', group, socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
print(f"Listening for messages on {multicast_address}:{multicast_port}")
while True:
data, addr = sock.recvfrom(1024)
print(f"Received message: {data.decode()} from {addr}")