2010-04-20 136 views
10

我想要一個扭曲的服務(通過twistd啓動),它偵聽指定IP地址上的指定端口上的TCP/POST請求。現在我有一個扭曲的應用程序,它監聽localhost上的端口8040。它運行良好,但我希望它只能聽某個IP地址,比如10.0.0.78。Twisted:如何將服務器綁定到指定的IP地址?

如何管理呢?這是我的代碼片段:

application = service.Application('SMS_Inbound') 

smsInbound = resource.Resource() 
smsInbound.putChild('75sms_inbound',ReceiveSMS(application)) 
smsInboundServer = internet.TCPServer(8001, webserver.Site(smsInbound)) 
smsInboundServer.setName("SMS Handling") 
smsInboundServer.setServiceParent(application) 

回答

13

什麼你要找的是interface參數twisted.application.internet.TCPServer

smsInboundServer = internet.TCPServer(8001, webserver.Site(smsInbound), 
    interface='10.0.0.78') 

(它從reactor.listenTCP()繼承,因爲所有的t.a.i.*Server類真的只是前進至reactor.listenXXX)。