1 python factory protocols twisted
问候,论坛.
我正在开发一个使用Twisted来管理网络的Python程序.该程序的基础是一个TCP服务,用于侦听多个端口上的连接.但是,我不是使用一个Twisted工厂来处理每个端口的协议对象,而是尝试为每个端口使用单独的工厂.这样做的原因是强制连接到不同端口的客户端组之间的分离.
不幸的是,似乎这种架构并不完全工作:连接到一个端口的客户似乎所有的工厂(例如,通过各厂所使用的协议类包括"self.factory.clients.append(个体经营)中可用'声明...而不是将给定的客户端仅添加到特定端口的工厂,客户端被添加到所有工厂),每当我在一个端口上关闭服务时,所有端口上的监听器也会停止.
我已经和Twisted合作了一段时间,并且担心我根本不完全理解它的工厂类是如何管理的.
我的问题是:是否根本不可能在不同的端口上使用相同工厂和相同协议的多个同时实例(没有这些实例踩在彼此的脚趾上)?
你绝对可以做你想做的事情 - 如果没有看到你的代码就很难说出你做错了什么,但我敢打赌你clients = []
在工厂里面而不是
self.clients = []
Run Code Online (Sandbox Code Playgroud)
在你的工厂类的__init__
方法.