与bu的许多客户联系

2024-06-28 14:28:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用twisted将一些信息分发给几个客户。你知道吗

我有一个消费者(实现了IConsumer),其write方法被重写,以写入所有连接的消费者客户机。你知道吗

我有一个实现为生成器的数据源。你知道吗

这是我的主要功能

factory = TelemetryFactory()
one2many = ConsumerToManyClientConsumers()
# writes from the datalines generator to one2many
telem = TelemetryProducer(one2many, datalines)
factory.setSource(one2many)
reactor.listenTCP(1234, factory)
reactor.run()

如何运行generator(或TelemetryProducer),以便无论有多少个客户端(0-10),它都能运行?你知道吗

编辑:使用反应堆.callInThread(fn)似乎给出了所需的行为,只是CTRL+C不能正确退出程序。在CTRL+C之后,所有连接都被拒绝,但控制权不会退回shell。你知道吗


Tags: 方法信息客户机客户factorytwisted消费者generator