2012-01-31 56 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() 
相關問題