from threading import Thread import subprocess import time def countdown(n): while n > 0: n -= 1 COUNT = 10000000 from socket import * def server(): s = socket(AF_INET,SOCK_DGRAM) s.setsockopt(SOL_SOCKET, SO_REUSEADDR,1) s.bind(("",15000)) # Launch a subprocess to send me UDP packets every 0.1 seconds (not shown) p = subprocess.Popen(['python','sender.py']) while True: msg,addr = s.recvfrom(8192) s.sendto(msg,addr) t1 = Thread(target=countdown,args=(COUNT,)) t2 = Thread(target=server) t2.daemon=True t1.start(); t2.start(); t1.join() print "Done"