使用python3怎么实现一个多线程聊天室?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
具体内容如下
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怎么实现一个多线程聊天室的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。