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中shutil模块的常用文件操作函数用法示例
Jul 05 Python
python实现微信远程控制电脑
Feb 22 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
Jul 17 Python
Python遍历文件夹 处理json文件的方法
Jan 22 Python
python多任务及返回值的处理方法
Jan 22 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
pycharm 安装JPype的教程
Aug 08 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
关于python中的xpath解析定位
Mar 06 Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 Python
OpenCV读取与写入图片的实现
Oct 13 Python
Python first-order-model实现让照片动起来
Jun 25 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
牡丹941资料
2021/03/01 无线电
php登陆页的密码处理方式分享
2013/10/14 PHP
php事务处理实例详解
2014/07/11 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
了解Javascript的模块化开发
2015/03/02 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
理解javascript封装
2016/02/23 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
vue指令以及dom操作详解
2017/03/04 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
React组件refs的使用详解
2018/02/09 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
Python实现简单HTML表格解析的方法
2015/06/15 Python
python安装教程
2018/02/28 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
PyQt5实现简易计算器
2020/05/30 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
实习老师个人总结的自我评价
2013/09/28 职场文书
员工自我鉴定
2013/10/09 职场文书
双语教学实施方案
2014/03/23 职场文书
农村党员干部承诺书
2015/05/04 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
人力资源部工作计划
2019/05/14 职场文书