#-*-coding:utf8-*- import socket import select class pyimdev: def __init__(self,port): self.port = port self.serversock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) self.serversock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) self.serversock.bind(("",port)) self.serversock.listen( 5 ) self.descriptors= [self.serversock] print "Chatserver Started on port %s" % port def run(self): while 1: (sread,swrite,sexc) = select.select(self.descriptors,[],[]) for sock in sread: if sock == self.serversock: self.acceptnewconn() else: str = sock.recv(100) if str == '': host,port = sock.getpeername() str = "Kullanıcı Ayrıldı %s:%s\r\n" % (host,port) self.switcher(str,sock) sock.close self.descriptors.remove(sock) else: host,port = sock.getpeername() newstr = '[%s:%s] %s' % (host,port,str) self.switcher(newstr,sock) def switcher(self,str,omit_sock): for sock in self.descriptors: if sock != self.serversock and sock != omit_sock: sock.send(str) print str, def acceptnewconn(self): newsock,(remhost,remport) = self.serversock.accept() self.description.append(newsock) newsock.send("Py Im Dev Sunucusuna bağlandınız\r\n") str = "Kullanıcı Bağlandı : %s:%s\r\n" % (remhost,remport) self.switcher(str,newsock) server = pyimdev(2918) server.run()