首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >发送大量python扭曲的消息

发送大量python扭曲的消息
EN

Stack Overflow用户
提问于 2014-02-22 05:31:23
回答 1查看 99关注 0票数 0

我有一个扭曲的TCPServer,它有大量的客户端连接。我需要能够让一个主客户端向该服务器发出命令,以便以非阻塞的方式向所有其他客户端连接发送消息。换句话说,服务器应该有一个命令处理程序(构建在lineReceived之上),它从主客户端接收一个特殊命令,然后启动一个线程或进程来遍历所有其他客户端,并向每个客户端发送一个命令(sendLine)。主客户端的命令处理程序应该在启动线程后立即返回。问题是,在twisted中对sendLine的任何调用都必须从主反应器线程调用,因此必须使用callFromThread来完成。那么,我的主命令处理程序是否可以执行以下操作:

代码语言:javascript
代码运行次数:0
运行
复制
def handle_master_command(self,command):
    deferred=reactor.deferToThread(myfunc)
    return

def myfunc(self):
    for client in other_clients:
        reactor.callFromThread(send_stuff_to_client,client,stuff_to_send)

显然这只是伪代码,但是像这样的东西能工作吗?

EN

回答 1

Stack Overflow用户

发布于 2014-02-22 07:13:06

呃,LineReceiver.sendLine()已经是非阻塞的了;你不需要任何线程,只需这样做:

代码语言:javascript
代码运行次数:0
运行
复制
def handle_master_command(self, command):
    for client in other_clients:
        send_stuff_to_client(client, stuff_to_send)

如果任何扭曲的api说它“必须从反应器线程调用”,这总是意味着它将是非阻塞的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21945586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档