Skip to content

Instantly share code, notes, and snippets.

@pganti
Created November 17, 2019 16:26
Show Gist options
  • Save pganti/9f2e9f2740351c085e9a0e50f2ef894a to your computer and use it in GitHub Desktop.
Save pganti/9f2e9f2740351c085e9a0e50f2ef894a to your computer and use it in GitHub Desktop.
multicast listener
# listener for multicast stats
import socket
import struct
import json
MCAST_GRP = '224.0.0.251'
MCAST_PORT = 6000
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((MCAST_GRP, MCAST_PORT))
mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
while True:
data, srv_sock = sock.recvfrom(8192)
srv_addr, srv_srcport = srv_sock[0], srv_sock[1]
print srv_addr, json.loads(data.replace('\0',''))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment