私は、アプリケーションフレームワークを使用してツイストP2Pクライアントを作成しています。着信接続のリスンポートは、ランダム(OSによって決まる)ポート上にあります。しかし、私はそのポートがそれを作成した後であるかを判断する方法が必要です:twisted - OSが選択したリスンポートを取得
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()
またはreactor.listenTCP()
によって作成されたポートを照会についてのドキュメントで何かを見つけることができません。これらの接続が起こるためにクライアントがポートをアナウンスしなければならないので、単に接続が発生するのを待つことはできません。
+1、努力のために: – mouad
+1周りの最善の答えです。 –