I know we can get the client (host) IP after connection has been established because at that time we will have transport attribute:
self.transport.getPeer()
Its a little late for that. I suggest you save this information when you have it. For example:
class YourProtocol(protocol.Protocol):
def connectionMade(self):
self._peer = self.transport.getPeer()
def connectionLost(self):
print 'Lost connection from', self._peer
While this has already been answered, i thought i would quickly add mine so i do not forget this in the future... As we know, the docs for Twisted are .. well twisted...
def connectionLost(self):
ip, port = self.transport.client
print ip
print port
By using the above, you can then simply match the ip/port against what ever database or means you have of keeping track of clients.
I ended up finding by using print vars(self.transport)
and seeing the client object in the output/console... using classic php debugging here