def subscribe_multicast(interface):
"""subscribe to the mcast addr"""
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, socket.inet_aton(interface.ipv4_address))
mreq = socket.inet_aton(interface.mcastaddr) + socket.inet_aton(interface.ipv4_address)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
sock.bind(('', 52122))
return sock
评论列表
文章目录