serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversocket.bind(('', int(port))) serversocket.settimeout(30) serversocket.listen(2) try: print "%s waiting for gtpclient 1 on port %d" % (os.getpid(), int(port)) (whitesocket, whiteaddress) = serversocket.accept() print "gtpclient 1 connected from %s!" % (str(whiteaddress)) except socket.timeout: print "%s Timeout waiting for client 1, exiting..." % (os.getpid()) serversocket.close() sys.exit(-1) whitenp = netpipe.netpipe(whitesocket) try: print "%s waiting for gtpclient 2 on port %d" % (os.getpid(), int(port)) (blacksocket, blackaddress) = serversocket.accept() print "gtpclient 2 connected from %s!" % (str(blackaddress)) except socket.timeout: print "%s Timeout waiting for client 2, exiting..." % (os.getpid()) whitenp.send("quit") whitenp.close() serversocket.close() sys.exit(-1) print "%s playing match!" % (os.getpid()) blacknp = netpipe.netpipe(blacksocket)
def clean_house(): reapchildren() for pid in house.keys(): try: # print "trying bot[%d] %s\n" % (pid, house[pid].getval('name')) if not house[pid].keepalive(): print "failed keepalive\n" removehousebot(pid) except: print "exception to keepalive\n" removehousebot(pid) serversocket.settimeout(30) serversocket.listen(2) while 1: try: (socket, address) = serversocket.accept() except: clean_house() socket = 0 if socket: np = netpipe.netpipe(socket) handleconnection(np) os.kill(pid, signal.SIGKILL) closeconnections() serversocket.close()
for opt, value in opts: if opt == "--program": program = value elif opt == "--port": port = value elif opt == "--ip": ip = value elif opt == "--feedback": feedback = True if program == "" or ip == 0 or port == 0: usage() gtp = GTP_connection(program) #print "GTP active" np = netpipe.netpipe() np.connect(ip, int(port)) #print "np active" while 1: try: cmd = np.receive() except: print "ERROR: socket error" sys.exit(-1) result = gtp.exec_cmd(cmd) if result == "quit": np.close() sys.exit(-1) try: np.send(result)
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversocket.bind( ('', int(port))) serversocket.settimeout(30) serversocket.listen(2) try: print "%s waiting for gtpclient 1 on port %d" % (os.getpid(), int(port)) (whitesocket, whiteaddress) = serversocket.accept() print "gtpclient 1 connected from %s!" % (str(whiteaddress)) except socket.timeout: print "%s Timeout waiting for client 1, exiting..." % (os.getpid()) serversocket.close() sys.exit(-1) whitenp = netpipe.netpipe(whitesocket) try: print "%s waiting for gtpclient 2 on port %d" % (os.getpid(), int(port)) (blacksocket, blackaddress) = serversocket.accept() print "gtpclient 2 connected from %s!" % (str(blackaddress)) except socket.timeout: print "%s Timeout waiting for client 2, exiting..." % (os.getpid()) whitenp.send("quit") whitenp.close() serversocket.close() sys.exit(-1) print "%s playing match!" % (os.getpid()) blacknp = netpipe.netpipe(blacksocket)
if opt == "--program": program = value elif opt == "--port": port = value elif opt == "--ip": ip = value elif opt == "--feedback": feedback = True if program == "" or ip == 0 or port == 0: usage() gtp = GTP_connection(program) #print "GTP active" np = netpipe.netpipe() np.connect(ip,int(port)) #print "np active" while 1: try: cmd = np.receive() except: print "ERROR: socket error" sys.exit(-1) result = gtp.exec_cmd(cmd) if result == "quit": np.close() sys.exit(-1) try: np.send(result)