【问题标题】:Python/Twisted - Sending to a specific socket object?Python/Twisted - 发送到特定的套接字对象?
【发布时间】:2010-10-02 09:12:35
【问题描述】:

我在一个节点上有一个“管理器”进程,还有几个工作进程。管理器是拥有与客户端的所有连接的实际服务器。管理器接受所有传入的数据包并将它们放入队列中,然后工作进程将数据包从队列中拉出,处理它们并生成结果。他们将结果发送回管理器(通过将它们放入另一个由管理器读取的队列中),但这是我卡住的地方:如何将结果发送到特定的套接字?在单个进程上处理数据包时,这很容易,因为当您收到数据包时,您只需在上下文中抓取“传输”对象即可对其进行回复。但是我将如何使用我正在使用的方法来做到这一点?

【问题讨论】:

    标签: python sockets twisted multiprocess


    【解决方案1】:

    听起来您可能需要在“事件”对象中保留对传输(或协议)的引用以及刚刚进入该协议的字节。这样,来自连接的响应会在同一个连接上输出。

    如果不需要串行处理事情,也许您应该考虑设置可以并行处理数据的函子,以消除排队的需要。请记住,您需要保护代码的关键部分。

    编辑: 从您关于评估服务器设计的其他问题来看,您的情况似乎无法并行处理,所以我的第一个建议成立。

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 2017-04-04
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      相关资源
      最近更新 更多