# demonstrates multicast udp from threading import * from socket import * import time ifaddr = '127.0.0.1' mcaddr = '224.1.0.1' port = 40000 def rcv(): s = socket(AF_INET, SOCK_DGRAM) sopt = inet_aton(mcaddr) + inet_aton(ifaddr) s.setsockopt(SOL_IP, IP_ADD_MEMBERSHIP, sopt) s.bind(("", port)) for i in range(3): msg = s.recvfrom(1024) print 'receiving ' + str(msg) def snd(): s = socket(AF_INET, SOCK_DGRAM) for i in range(3): print "sending" s.sendto("yo!", (mcaddr, port)) time.sleep(1) t1 = Thread(target=rcv, name='rcv') t2 = Thread(target=snd, name='snd') t1.start() t2.start()