Я хочу иметь скрученный сервис (запустился через twistd), который слушает запрос TCP/POST на указанном порте на указанном IP-адресе. К настоящему времени у меня есть скрученное приложение, которое слушает порт 8040 на localhost. Это хорошо работает, но я хочу, чтобы это только слушало определенный IP-адрес, сказало 10.0.0.78.
Практическое руководство управляет этим? Это - отрывок моего кода:
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)
То, что вы ищете, это аргумент интерфейса
для twisted.application.internet.TCPServer
:
smsInboundServer = internet.TCPServer(8001, webserver.Site(smsInbound),
interface='10.0.0.78')
(Который наследуется от response.listenTCP ()
, поскольку все tai * Классы сервера
действительно просто перенаправляют на response.listenXXX
для соответствующего протокола.)