Public feed
#725729
import selectimport socketimport sysimport threadingimport timehost = sys.argv[1]port = 1337backlog = 5size = 1024class server(threading.Thread): def run(self): server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(('',port)) server.listen(backlog) input = [server] running=True while running: inputready,outputready,exceptready = select.select(input,[],[]) for s in inputready: if s == server: client, address = server.accept() input.append(client) print 'Accepted connection from ', address else: data=s.recv(size) if data: print 'Received: ',data else: s.close() print 'Closed connection to ',address input.remove() server.close()class client(threading.Thread): print 'Waiting 5 Seconds before connecting to other client...' time.sleep(5) def run(self): s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host,port)) sys.stdout.write('Send:') line='' while line!='ENDCHAT': line = sys.stdin.readline() if line=='': break s.send(line) sys.stdout.write('Send:') s.close()def main(): server().start() client().start() main()