在多个Twisted端点上监听
我有多个服务器端点,它们在不同的端口上监听,使用的是相同的协议和工厂。
我怎么知道哪个端点先建立了连接呢?
endpoint1 = TCP4ServerEndpoint(reactor, 8007)
endpoint.listen(QOTDFactory())
endpoint2 = TCP4ServerEndpoint(reactor, 8008)
endpoint2.listen(QOTDFactory())
等等....
1 个回答
2
你无法区分这些对象,因为你创建的对象完全一样。如果你想区分它们,可以考虑像下面这样的做法:
endpoint1 = TCP4ServerEndpoint(reactor, 8007)
endpoint.listen(QOTDFactory("tweedledee"))
endpoint2 = TCP4ServerEndpoint(reactor, 8008)
endpoint2.listen(QOTDFactory("tweedledum"))
然后,在 QOTDFactory.buildProtocol
里,你可以很简单地打印出你的工厂是 tweedledee
还是 tweedledum
。