rendered paste body#-*-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.descriptors.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()