[Twisted-Python] session management

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Wed Mar 31 17:39:52 EDT 2010


On 04:10 am, elihusmails at gmail.com wrote:
>On Tue, Mar 30, 2010 at 6:42 PM, Itamar Turner-Trauring
><itamar at itamarst.org> wrote:
>>>Greetings,
>>>
>>>I am new to this list and twisted.  I have worked with some systems
>>>similar to twisted, notably Apache MINA.  I am trying to find out how
>>>to set up my server to support sessions for multiple clients.  Right
>>>now I am simply developing a telnet-like application to learn twisted
>>>but cannot figure out how to manage sessions for the remote clients.
>>
>>Each Protocol instance stays alive for the lifetime of the connection 
>>it
>>is matched to (via the transport). So just store attributes on the
>>Protocol instance.
>
>I figured as much that twisted supported the notion of sessions.  Are
>there any examples that show me how to access them and
>add/remove/update attributes in the session?

Protocol instances are normal Python objects.  You can use normal Python 
attributes on them in the normal way.  For example:

    from twisted.internet.protocol import Protocol

    class Counter(Protocol):
        """
        Keep track of how many times data is delivered over a connection.
        """
        def connectionMade(self):
            self.count = 0

        def dataReceived(self, bytes):
            self.count += 1

Jean-Paul



More information about the Twisted-Python mailing list