2012-01-31 4 views
1

다음 코드가 있는데 어떤 클라이언트가 공장에 연결되어 있는지 감지하고 싶습니다. 어떻게하면 될까요?클라이언트가 어떤 포트에 연결되어 있습니까

from twisted.internet import reactor 
conn = txredisapi.lazyRedisConnectionPool(reconnect = True) 
factory = STSFactory(conn) 
factory.clients = [] 

print "Server started" 
reactor.listenTCP(11000,factory) 
reactor.listenTCP(11001,factory) 
reactor.listenTCP(11002,factory) 
reactor.run() 

답변

3

TCP 연결, 클라이언트의 주소와 서버 주소의 두 가지 주소, 전송의 getHostgetPeer 방법을 사용하여 검색 할 수 있습니다. "호스트"주소는 로컬 연결의 주소입니다. "피어"주소는 연결의 다른 쪽 주소입니다. 서버에서 호스트 주소는 연결을 승인 한 포트의 주소이기도합니다. 예를 들어

You can read about transport methods in the Twisted API documentation.

:

class SomeProtocol(Protocol): 
    def connectionMade(self): 
     print 'Connection made to', self.transport.getHost(), 
     print 'from', self.transport.getPeer() 
관련 문제