2009-01-20 35 views
1

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

回答

3

这听起来像你可能需要保留一个引用传输(或协议)以及刚刚在你的'事件'对象中的协议字节。通过这种方式,连接上出现的响应会以相同的连接出现。

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

编辑: 从你关于评估你的服务器设计的其他问题来看,似乎并行处理可能不适合你的情况,所以我的第一个建议就是。