twisted:基于python的twisted框架编写一个客户端和服务端的对话聊天空间

举报
一个处女座的程序猿 发表于 2021/04/01 01:22:20 2021/04/01
【摘要】 twisted:基于python的twisted框架编写一个客户端和服务端的对话聊天空间     目录 输出结果 实现代码       输出结果 更新……     实现代码 #基于python的twisted框架编写一个简单的聊天室# -*- coding:utf-8 -*-f...

twisted:基于python的twisted框架编写一个客户端和服务端的对话聊天空间

 

 

目录

输出结果

实现代码


 

 

 

输出结果

更新……

 

 

实现代码


  
  1. #基于python的twisted框架编写一个简单的聊天室
  2. # -*- coding:utf-8 -*-
  3. from twisted.internet.protocol import Factory
  4. from twisted.protocols.basic import LineReceiver
  5. from twisted.internet import reactor
  6. user = {}
  7. class ChatReci(LineReceiver): #定义一个类,这里继承的是LineReceiver
  8. def __init__(self): #初始化2个变量
  9. self.name = ''
  10. self.state = "game"
  11. def connectionMade(self): #连接协议,当客户端连接即发出消息
  12. self.sendLine("input you name?")
  13. def lineReceived(self, data): #这个函数定义了取名 打印欢迎界面,以及发送信息给连上来的用户
  14. if self.name == '': #判断名字是否为空 如果为空就进行下面的操作
  15. self.name = data #给self.name赋值
  16. self.sendLine("you welcome, %s!" % (self.name)) #打印欢迎信息
  17. user[self.name] = self #赋值给user
  18. print ('%s loging' %data) #打印登录信息
  19. else: #不为空就打印信息
  20. message = "<%s> %s" % (self.name, data) #定义聊天信息
  21. for ur,protocol in user.items(): #取他的用户名
  22. if protocol != user: #判断他是不是一个用户 如果不是就传送消息
  23. protocol.sendLine(message) #传送消息
  24. factory = Factory() #定义工厂
  25. factory.protocol = ChatReci #绑定我的类
  26. reactor.listenTCP(8000, factory) #绑定端口和工厂
  27. reactor.run() #启动

 

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/80715344

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。