【发布时间】:2011-02-09 22:36:21
【问题描述】:
您好,论坛。
我正在开发一个使用 Twisted 来管理网络的 Python 程序。该程序的基础是侦听多个端口上的连接的 TCP 服务。但是,我没有使用一个 Twisted 工厂来处理每个端口的协议对象,而是尝试为每个端口使用一个单独的工厂。这样做的原因是强制将连接到不同端口的客户端组分开。
不幸的是,这种架构似乎不太有效:连接到一个端口的客户端似乎在所有工厂中都可用(例如,每个工厂使用的协议类包括一个'self.factory.clients.append (self)' 语句...而不是将给定客户端添加到特定端口的工厂,而是将客户端添加到所有工厂),并且每当我关闭一个端口上的服务时,所有端口上的侦听器也会停止。
我与 Twisted 合作了一段时间,担心我根本不完全了解它的工厂类是如何管理的。
我的问题是:是否根本不可能在不同端口上同时使用同一工厂和同一协议的多个同时实例(没有这些实例相互影响)?
【问题讨论】:
标签: python twisted factory protocols