[Twisted-web] Coding websockets server.

João Ricardo Mattos e Silva joaoricardo000 at gmail.com
Mon Sep 5 23:49:57 EDT 2011

my first e-mail on this list, I`m beginning to code with twisted, started
after a research about building c10k servers.. (with python)
I am using this lib, heard it is the best for working with websockets
(correct me if you know another)

There is what I want to do:
I have:

    site = WebSocketSite(root)
    site.addChatHandler('/room*1*', Chathandler)
    reactor.listenTCP(8080, site)


class Chathandler(WebSocketHandler):
    users = set()
    def __init__(self, transport):
        WebSocketHandler.__init__(self, transport)

    def __del__(self):
        print 'Deleting handler'

    def setUsers(self,usr):
        self.users = usr

    def frameReceived(self, frame):
        adr = self.transport.getPeer()
        print "Msg rcv from: ", adr

    def connectionMade(self):
        print 'Connected to client.'

    def connectionLost(self, reason):
        print 'Lost connection.'
        if self in self.users:

    def sendChat(self,fr,msg):
        for u in self.users:

My problem is:
If I do this:
    site = WebSocketSite(root)
    site.addChatHandler('/room*1*', Chathandler)
    site.addChatHandler('/room*2*', Chathandler)
    site.addChatHandler('/room*3*', Chathandler)
    reactor.listenTCP(8080, site)

will not work (every room will comunicate with every room), because
the users = set() will be globally between the handlers..
If I put on the __init__, every call on /roomX will have your personal set()
of users including only themselfs.

I am kind stuck on this, I`m new to websocket and server programming, so I
don`t even know if is the best way to code a chatroom server.
If you read this far ans have any (even it looks that stupid for you), might
help right now (:


*João Ricardo Mattos e Silva*

Graduando em Ciência da Computação na Universidade Federal de Santa Catarina

*Cel: *+55 (48) 96190063  |  *Skype:* jricardomsilva  | * Msn: *
joaoricardo at globalite.com.br
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-web/attachments/20110906/212247a7/attachment-0001.htm 

More information about the Twisted-web mailing list