这篇文章主要为大家详细介绍了python3实现多线程聊天室,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

使用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()

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持爱安网。

最新资讯
“双11”预售第一天探班李佳琦直播间 单日成交约34亿

“双11”预售第一天探

“双11”预售第一天,每经记者探班李佳琦直播间 李佳琦7
优胜教育创始人哽咽直播 退费无果家长吐槽其在演戏

优胜教育创始人哽咽直

带着哽咽的声音,优胜教育创始人陈昊出现在直播间,开启了
超2万亿“巨无霸”蚂蚁集团蓄势待发 解码估值攀升的“潜台词”

超2万亿“巨无霸”蚂

一方面显示的是市场对蚂蚁的热捧和认可;但另一方面,万亿
手机厂商齐聚IoT阵营 开启5G万物互融生态新战役

手机厂商齐聚IoT阵营

在经历了此前多轮预告之后,OPPO终于发布了旗下相对完整
嘀嗒出行率先冲刺上市  网约出租车“行业老二”如何突围?

嘀嗒出行率先冲刺上市

嘀嗒2017年才进入网约出租车市场,且订单规模远远小于滴
钱烧光了路还没找到 二手车行业进退两难

钱烧光了路还没找到

中国约95%车源集中在个人卖家手中,二手车又是典型的大
最新文章
在pycharm中为项目导入anacodna环境的操作方法

在pycharm中为项目导

这篇文章主要介绍了在pycharm中为项目导入anacodna环
tensorflow的ckpt及pb模型持久化方式及转化详解

tensorflow的ckpt及pb

今天小编就为大家分享一篇tensorflow的ckpt及pb模型持
PyTorch笔记之scatter()函数的使用

PyTorch笔记之scatter

这篇文章主要介绍了PyTorch笔记之scatter()函数的使用
python3实现网页版raspberry pi(树莓派)小车控制

python3实现网页版ras

这篇文章主要为大家详细介绍了python3实现网页版raspb
完美解决pycharm导入自己写的py文件爆红问题

完美解决pycharm导入

今天小编就为大家分享一篇完美解决pycharm导入自己写
pycharm内无法import已安装的模块问题解决

pycharm内无法import

今天小编就为大家分享一篇pycharm内无法import已安装