rendered paste bodyimport threading, sys, string, os, commands, socketimport selectclass SecureLayer: layer = 1000 def crypt ( self, data ): data = list( str(data) ) data_dump = [] for a in data: dump = ord(str(a))+self.layer data_dump.append(str(dump)) return ",".join(data_dump) def decrypt ( self, data ): data = str(data).split(",") data_dump = [] for a in data: dump = ord(int(a)-self.layer) data_dump.append(str(dump)) return "".join(data_dump)class ThreadE ( threading.Thread ): def run ( self ): global PORT, msgbuf while 1: ipdump=conn.getpeername() sat=conn.recv(1024) sat=sat.split("\n") msg_temp = msgbuf[ipdump[0]] msgbuf[ipdump[0]] = msg_temp+" "+sat[0] print "MSGBUF IS ::["+msgbuf[ipdump[0]]+"]" class ThreadC ( threading.Thread ): def run ( self ): sl = SecureLayer() global PORT, ip_list, addr while 1: a,b,c = select.select(r_list,ip_list, []) #data = raw_input() #data = sl.crypt(data) for a in b: conn.send(a+"\n") HOST = ''PORT = int(sys.argv[1])data = []sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sock.bind((HOST, PORT))sock.listen(7)#sock.setblocking(0)ip_list = []r_list = [sock]msgbuf = {}while 1: conn, addr = sock.accept() temp = conn.getpeername() ip_list.append(temp[0]) r_list.append(temp[0]) msgbuf[temp[0]] = '' print "Se conecto: ", str(temp[0]) ThreadE().start() ThreadC().start()