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 相关文章推荐
使用PDB模式调试Python程序介绍
Apr 05 Python
python实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
Python 字符串转换为整形和浮点类型的方法
Jul 17 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
python 实现倒排索引的方法
Dec 25 Python
Pandas透视表(pivot_table)详解
Jul 22 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
在tensorflow中实现去除不足一个batch的数据
Jan 20 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 Python
python3将变量输入的简单实例
Aug 19 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
php中mysql模块部分功能的简单封装
2011/09/30 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
PHP高手需要要掌握的知识点
2014/08/21 PHP
浅谈php提交form表单
2015/07/01 PHP
在JS中最常看到切最容易迷惑的语法(转)
2010/10/29 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
JS不完全国际化&本地化手册 之 理论篇
2016/09/27 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
详解python单元测试框架unittest
2018/07/02 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
python制作抖音代码舞
2019/04/07 Python
Python可迭代对象操作示例
2019/05/07 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
你的自行车健身专家:FaFit24
2016/11/16 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
移动通信专业自荐信范文
2013/11/12 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python