Changeset 187
- Timestamp:
- 03/04/06 23:02:35 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
feedtree/trunk/tools/networktest/networktestserver.py
r185 r187 4 4 5 5 TEST_TEXT = 'test' 6 DEFAULT_PORT = 29690 6 TCP_PORT = 29680 7 UDP_PORT = 29681 8 CLIENT_TCP_PORT = 29690 9 CLIENT_UDP_PORT = 29690 10 11 REUSEPORT=True 12 try: 13 x = socket.SO_REUSEPORT 14 except: 15 REUSEPORT=False 7 16 8 17 def log(s): … … 12 21 def __init__(self, addr): 13 22 threading.Thread.__init__(self) 23 self.setDaemon(True) 14 24 self.addr = addr 15 25 def run(self): 26 time.sleep(5) 16 27 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) 17 28 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 18 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 19 addr = (self.addr[0], DEFAULT_PORT) 29 if REUSEPORT: 30 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 31 addr = (self.addr[0], CLIENT_TCP_PORT) 20 32 log("TCP connecting to: " + `addr`) 21 33 s.connect(addr) 34 log("TCP sending '%s' to: %s " % (TEST_TEXT, `addr`)) 22 35 s.send(TEST_TEXT) 23 36 data = s.recv(1024) 37 log("TCP closing: " + `addr`) 24 38 s.close() 25 39 … … 32 46 # s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 33 47 # s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 34 # addr = (self.addr[0], DEFAULT_PORT)48 # addr = (self.addr[0], TCP_PORT) 35 49 # log("UDP sending to: " + `addr`) 36 50 # s.sendto(TEST_TEXT, addr) … … 39 53 def __init__(self): 40 54 threading.Thread.__init__(self) 55 self.setDaemon(True) 41 56 def run(self): 42 57 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) 43 58 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 44 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 45 s.bind((socket.gethostname(), DEFAULT_PORT)) 59 if REUSEPORT: 60 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 61 addr = (socket.gethostname(), TCP_PORT) 62 print "TCP binding to " + `addr` 63 s.bind(addr) 46 64 s.listen(5) 47 65 … … 58 76 def __init__(self): 59 77 threading.Thread.__init__(self) 78 self.setDaemon(True) 60 79 def run(self): 61 80 s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 62 81 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 63 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 64 s.bind((socket.gethostname(), DEFAULT_PORT)) 82 if REUSEPORT: 83 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 84 addr = (socket.gethostname(), UDP_PORT) 85 print "UDP binding to " + `addr` 86 s.bind(addr) 65 87 66 88 while 1: 67 data, addr = cs.recvfrom(1024)89 data, addr = s.recvfrom(1024) 68 90 log("UDP packet from: " + `addr`) 69 print time.strftime("%x %X", time.localtime()) + ": UDP: " + `addr` 70 cs.sendto(TEST_TEXT, addr) 91 s.sendto(TEST_TEXT, addr) 71 92 72 t1 = TCPListenerThread().start() 73 t2 = TCPListenerThread().start() 93 if __name__ == '__main__': 94 import time 95 96 #signal.signal(signal.SIGINT, interrupt_hdlr) 97 98 t1 = TCPListenerThread().start() 99 t2 = UDPListenerThread().start() 100 101 try: 102 while 1: 103 time.sleep(60) 104 except Exception, e: 105 print "exiting on exception: " + `e` 106 sys.exit(1) 107 108
