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转换摩斯密码示例
Feb 16 Python
Python开发常用的一些开源Package分享
Feb 14 Python
Python利用ansible分发处理任务
Aug 04 Python
django 创建过滤器的实例详解
Aug 14 Python
浅谈python中的正则表达式(re模块)
Oct 17 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
Dec 12 Python
python实现人像动漫化的示例代码
May 17 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
May 26 Python
PyQt5实现登录页面
May 30 Python
python 利用opencv实现图像网络传输
Nov 12 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
php 常用类整理
2009/12/23 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
vue自定义指令directive实例详解
2018/01/17 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
Python lambda和Python def区别分析
2014/11/30 Python
Python脚本实现网卡流量监控
2015/02/14 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
python实现自动打卡的示例代码
2020/10/10 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
个人自我鉴定
2013/11/07 职场文书
食堂个人先进事迹
2014/01/22 职场文书
小学毕业寄语大全
2014/04/03 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python