twisted - получить выбранный ОС порт прослушивания

Я пишу скрученный клиент 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 () , которому он пересылается. Я не могу просто дождаться установления соединения, так как клиент должен объявить свой порт, чтобы эти соединения когда-либо произошли.

9
задан vsekhar 16 August 2011 в 13:51
поделиться