Я пишу скрученный клиент P2P, используя платформу приложения. Порт прослушивания входящих соединений будет на случайном (определяемом ОС) порте. Однако мне нужен способ определить, что это за порт после его создания:
import twisted... etc.
application = service.Application('vmesh')
peerservice = MyPeerService()
servicecollection = service.IServiceCollection(application)
factory = MyPeerFactory(peerservice)
server = internet.TCPServer(0, factory) # listen on random port
listen_port = server.getHost().port # ??? doesn't work...
server.setServiceParent(servicecollection)
Я не могу найти в документации ничего о запросе порта, созданного internet.TCPServer ()
или response.listenTCP ()
, которому он пересылается. Я не могу просто дождаться установления соединения, так как клиент должен объявить свой порт, чтобы эти соединения когда-либо произошли.