python3实现多线程聊天室


Posted in Python onDecember 12, 2018

使用python3创建多线程聊天室,供大家参考,具体内容如下

import threading 
import socket
 
#socket
udpSocket = None
#计数器
num = 1
 
#1.创建接受,发送方法
def inMessage():
  global num
  while True:
    #等待接收消息
    data = udpSocket.recvfrom(1024)
    #4. 将接收到的数据再发送给对方
    udpSocket.sendto(data[0], data[1])
    #打印获得的消息
    print("\r>> 消息%d => 来自:%s => %s"%(num,data[1],data[0].decode('gb2312')))
    print('\r>>',end='')
    #消息数量+1
    num+=1
 
def outMessage():
  while True:
    #发送地址
    sendAddr = ('192.168.106.132',8080)
    #获得输入数据
    senddata = input('\r>>')
    #发送消息
    udpSocket.sendto(senddata.encode('gb2312'),sendAddr)
 
 
#2.使用多线程执行接收发送
def main():
  global udpSocket
  
  #创建socket
  udpSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
  #绑定端口
  udpSocket.bind(('',8686))
 
  #创建线程
  t1 = threading.Thread(target=inMessage)
  t2 = threading.Thread(target=outMessage)
 
  #启动线程
  t1.start()
  t2.start()
 
  #主线程堵塞
  t1.join()
  t2.join()
 
#3.主方法运行
if __name__ == "__main__":
  main()

效果图:

python3实现多线程聊天室

python3实现多线程聊天室

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中tell()方法的使用详解
May 24 Python
Python简单实现socket信息发送与监听功能示例
Jan 03 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
django ajax json的实例代码
May 29 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 27 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
Django通用类视图实现忘记密码重置密码功能示例
Dec 17 Python
Python imutils 填充图片周边为黑色的实现
Jan 19 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
May 14 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 #Python
python pands实现execl转csv 并修改csv指定列的方法
Dec 12 #Python
python2.7实现邮件发送功能
Dec 12 #Python
对python csv模块配置分隔符和引用符详解
Dec 12 #Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 #Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 #Python
解决Python pandas plot输出图形中显示中文乱码问题
Dec 12 #Python
You might like
JAVA/JSP学习系列之二
2006/10/09 PHP
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
cmd下运行php脚本
2008/11/25 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
vue-hook-form使用详解
2017/04/07 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
如何强制垃圾回收
2015/10/06 面试题
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
餐饮部总监岗位职责范文
2014/02/13 职场文书
业务员自荐信范文
2014/04/20 职场文书
解除财产保全担保书
2014/05/20 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
领导干部学习心得体会
2016/01/23 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python