python - Twisted 为 reactor 生成新客户端
问题描述
一般在 Twisted (Python) 中,定义一些监听器或连接或循环操作并将它们添加到反应器中,然后调用 reactor.run()。有没有办法从其他事件循环中添加新连接?假设我想要一个服务器,然后这个服务器产生其他客户端,每个客户端都有自己的数据接收范围。
谢谢
解决方案
您可以根据需要创建与特定服务器的任意数量的客户端连接。忽略代码质量/设计模式,可以在代码中的任何位置建立客户端连接。
from twisted.internet import protocol, reactor
class SomeProtocol(protocol.Protocol):
def dataReceived(self):
# This is what I believe you're asking about
for x in range(5):
reactor.connectTCP('localhost', 8000, SomeClientFactory())
class SomeServerFactory(protocol.Factory):
def buildProtocol(self):
return SomeProtocol()
reactor.listenTCP(8000, SomeServerFactory())
reactor.run()
推荐阅读
- arrays - 基于相同的伙伴或字母合并数组
- javascript - onClick 事件使用 react-bootstrap nav 下拉菜单和 react-router-dom 不起作用
- javascript - 如何从 Json 文件中分离数据以在它们旁边获取单独的复选框
- python - expand rows based using a series input- pandas
- amazon-web-services - Helm 无法处理 ConfigMap.mapRoles.username:system:node:{{EC2PrivateDNSName}}
- python - 重建此生成器以生成已排序的嵌套元组而不是嵌套列表
- javascript - 无法解析模块 ./SignIn In React Native 应用程序
- python - 如何在 Python 中将字符串转换为 telebot.types.message?
- sparql - 用于查找类层次结构中最低类的 SPARQL 查询
- discord.js - 删除离线成员的角色