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中的数据存储到系统本地的简单方法
Apr 11 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
Python的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
python 读写txt文件 json文件的实现方法
Oct 22 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
Python3 列表,数组,矩阵的相互转换的方法示例
Aug 05 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
python tornado使用流生成图片的例子
Nov 18 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
python实现简单遗传算法
Sep 18 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
加速XP搜索功能堪比vista
2007/03/22 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
使用 js+正则表达式为关键词添加链接
2014/11/11 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
js中的面向对象入门
2017/03/06 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
python logging类库使用例子
2014/11/22 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
基于Python函数和变量名解析
2019/07/19 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
高中英语教学反思
2014/02/04 职场文书
运动会800米加油稿
2014/02/22 职场文书
工业设计专业自荐书
2014/06/05 职场文书