#!/usr/bin/env python3 import select, socket, sys host, port = '', 50000 backlog, size = 5, 1024 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((host,port)) server.listen(5) input = [server,sys.stdin] running = 1 while running: inrdy,_,_ = select.select(input,[],[]) for s in inrdy: if s == server: # handle the server socket client, address = server.accept() input.append(client) elif s == sys.stdin: # handle standard input junk = sys.stdin.readline() running = 0 else: # handle all other sockets data = s.recv(size) if data: s.send(data) else: s.close() input.remove(s) server.close()