当前位置: 首页 > news >正文

网站服务器免费申请巨量关键词搜索查询

网站服务器免费申请,巨量关键词搜索查询,海会主机,找做网站的上什么app# 导入必要的Twisted模块 from twisted.internet import reactor # 事件循环核心模块 from twisted.internet.protocol import Factory # 用于管理协议实例的工厂类 from twisted.protocols.basic import LineReceiver # 按行接收数据的协议基类# 定义聊天协议类&#xff0c…
# 导入必要的Twisted模块
from twisted.internet import reactor  # 事件循环核心模块
from twisted.internet.protocol import Factory  # 用于管理协议实例的工厂类
from twisted.protocols.basic import LineReceiver  # 按行接收数据的协议基类# 定义聊天协议类,继承自LineReceiver
class Chat(LineReceiver):def __init__(self, users):"""初始化聊天协议实例:param users: 共享的用户字典(用户名->协议实例)"""self.users = users  # 存储所有用户的字典(由Factory共享)self.name = None  # 当前连接的用户名(初始为None)self.state = "GETNAME"  # 状态机状态:初始为获取用户名阶段def connectionMade(self):"""当客户端连接成功时自动调用"""self.sendLine(b"What's your name?")  # 向客户端发送输入用户名提示def connectionLost(self, reason):"""当客户端断开连接时自动调用"""if self.name in self.users:del self.users[self.name]  # 从用户字典中移除该用户def lineReceived(self, line):"""当接收到一行数据时自动调用:param line: 接收到的数据行(字节串)"""if self.state == "GETNAME":self.handle_GETNAME(line)  # 处理用户名设置阶段else:self.handle_CHAT(line)  # 处理聊天消息阶段def handle_GETNAME(self, name):"""处理用户名设置逻辑:param name: 客户端发送的用户名"""if name in self.users:self.sendLine(b"Name taken, please choose another.")  # 用户名已存在return# 用户名可用self.sendLine(f"Welcome, {name.decode('utf-8')}!".encode("utf-8"))  # 发送欢迎消息self.name = name  # 设置当前用户名self.users[name] = self  # 将用户添加到共享字典self.state = "CHAT"  # 切换到聊天状态def handle_CHAT(self, message):"""处理聊天消息逻辑:param message: 客户端发送的聊天消息"""message = b"<" + self.name + b"> " + message  # 格式化消息(添加用户名前缀)# 广播消息给所有其他用户for name, protocol in self.users.items():if protocol != self:  # 不发送给自己protocol.sendLine(message)# 定义协议工厂类
class ChatFactory(Factory):def __init__(self):"""初始化工厂实例"""self.users = {}  # 创建空字典用于存储用户(用户名->协议实例的映射)def buildProtocol(self, addr):"""为每个新连接创建协议实例:param addr: 客户端地址信息:return: 新的Chat协议实例"""return Chat(self.users)  # 创建Chat实例并共享users字典# 主程序入口
if __name__ == "__main__":reactor.listenTCP(8123, ChatFactory())  # 在8123端口监听,使用ChatFactory处理连接reactor.run()  # 启动事件循环,开始处理网络事件

使用telnet连接服务:telnet 127.0.0.1 8123

在这里插入图片描述

http://www.dinnco.com/news/86619.html

相关文章:

  • 北京改网站百度推广怎么使用教程
  • 泰和网站建设网站seo优化运营
  • 软件app网址怎么找上海百度seo公司
  • 临海高端网站设计新感觉建站公众号运营收费价格表
  • 怎样做直销网站深圳网站建设公司排名
  • 专做进口批发的网站2021拉新推广佣金排行榜
  • 云南网站备案搭建一个网站的流程
  • 安卓市场官方版app下载seo网站优化方案
  • 昆明网站建设首选互维长沙网站推广智投未来
  • 网站建设 需求分析报告自媒体营销的策略和方法
  • 橙子建站是什么东西成人职业技能培训学校
  • 中国室内设计培训排名百度seo标题优化软件
  • 哈尔滨百度关键词优化信息流优化师职业规划
  • 班级设计网站建设sem是什么?
  • 做网站维护的收入怎么确认河北网站seo地址
  • 深圳微信分销网站建设百度网站的域名地址
  • 舞阳专业做网站最新资讯热点
  • phpmysql网站开发笔记要看网的域名是多少
  • 成品网站建设咨询网站优化排名软件
  • 网站中英文切换代码大庆建站公司
  • wordpress phone主题seo分析师招聘
  • 婚恋网站女孩子做美容郑州网站建设价格
  • 怎么做网站结构拓扑图海外推广
  • 大型资讯门户网站怎么做排名物联网开发
  • 乌鲁木齐大型网站建设宽带推广方案
  • 网站建设公司优惠大酬宾活动网络关键词排名软件
  • 网站建设高端网页设计疫情最新消息今天公布
  • 网页设计与网站建设05在线测试新媒体运营培训学校
  • 国外装饰公司网站专门看广告的网站
  • 辽宁工程建设信息网站西安今日头条新闻消息