import select import errbug EXIT_CODE = "/exit" q_in = Queue.Queue() q_out = Queue.Queue() errbug.isDebugging = 1 def socket_thread(): try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) except socket.error, err: errbug.fatal(err) errbug.debug("Socket created.") host = socket.gethostname() port = 12345 try: sock.connect((host, port)) except socket.error, msg: errbug.fatal(msg) while 1: errbug.debug("Fetching message...") data = sock.recv(1024) errbug.debug("Recieved: %s" % data) msg = q_out.get() if msg == EXIT_CODE: break
host = socket.gethostname() port = 12345 try: serv_sock.bind((host, port)) except socket.error, msg: errbug.fatal(msg) serv_sock.listen(1) input = [serv_sock] while 1: input_chk, out_chk, err_chk = select.select(input,[],[]) for j in input_chk: if j == serv_sock: client, addr = j.accept() errbug.debug("Connection") input.append(client) else: data = j.recv(1024) if data == '': errbug.debug('Conection closed...') j.close() input.remove(j) else: errbug.debug('Recieved: %s'%data) j.send("Echo - %s"%data) errbug.debug('Sent reply.') s.close if __name__ == "__main__": main()