import socket import sys ECHO_IP = '192.168.1.223' ECHO_PORT = 5000 MCAST_GRP = '224.0.0.22' MCAST_PORT = 5001 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) sock.settimeout(1.0) counter = 0 try: while True: sys.stdout.write("iteration %d: " % counter) sock.sendto("test", (MCAST_GRP, MCAST_PORT)) # destination must be multicast IP, no problem for unicast sock.sendto("echo", (ECHO_IP, ECHO_PORT)) try: reply = sock.recv(1024) except socket.timeout: print("FAILED (timeout receiving echo)") sys.exit(1) # end try assert reply == "echo" print("OK") counter += 1 # end while except KeyboardInterrupt: print("\ncancelled by user") # end try