Changeset 187

Show
Ignore:
Timestamp:
03/04/06 23:02:35 (2 years ago)
Author:
dsandler
Message:

seems to work on this side, too

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • feedtree/trunk/tools/networktest/networktestserver.py

    r185 r187  
    44 
    55TEST_TEXT = 'test' 
    6 DEFAULT_PORT = 29690 
     6TCP_PORT = 29680 
     7UDP_PORT = 29681 
     8CLIENT_TCP_PORT = 29690 
     9CLIENT_UDP_PORT = 29690 
     10 
     11REUSEPORT=True 
     12try: 
     13    x = socket.SO_REUSEPORT 
     14except: 
     15    REUSEPORT=False 
    716 
    817def log(s): 
     
    1221    def __init__(self, addr): 
    1322        threading.Thread.__init__(self) 
     23        self.setDaemon(True) 
    1424        self.addr = addr 
    1525    def run(self): 
     26        time.sleep(5) 
    1627        s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    1728        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) 
    2032        log("TCP connecting to: " + `addr`) 
    2133        s.connect(addr) 
     34        log("TCP sending '%s' to: %s " % (TEST_TEXT, `addr`)) 
    2235        s.send(TEST_TEXT) 
    2336        data = s.recv(1024) 
     37        log("TCP closing: " + `addr`) 
    2438        s.close() 
    2539 
     
    3246#        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 
    3347#        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) 
    34 #        addr = (self.addr[0], DEFAULT_PORT) 
     48#        addr = (self.addr[0], TCP_PORT) 
    3549#        log("UDP sending to: " + `addr`) 
    3650#        s.sendto(TEST_TEXT, addr) 
     
    3953    def __init__(self): 
    4054        threading.Thread.__init__(self) 
     55        self.setDaemon(True) 
    4156    def run(self): 
    4257        s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    4358        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) 
    4664        s.listen(5) 
    4765 
     
    5876    def __init__(self): 
    5977        threading.Thread.__init__(self) 
     78        self.setDaemon(True) 
    6079    def run(self): 
    6180        s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
    6281        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) 
    6587 
    6688        while 1: 
    67             data, addr = cs.recvfrom(1024) 
     89            data, addr = s.recvfrom(1024) 
    6890            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) 
    7192 
    72 t1 = TCPListenerThread().start() 
    73 t2 = TCPListenerThread().start() 
     93if __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