0819-多线程,全双工qq聊天程序及问题总结

本文介绍了在实现多线程、全双工的QQ聊天程序中遇到的问题,如接收和发送数据无法同时进行。通过创建两个独立线程分别处理接收和发送任务,解决了这一难题。在不同环境下运行程序表现不一,例如IDLE中可能因input函数导致线程阻塞,而VS Code和cmd下运行正常。此外,还强调了主函数修改局部变量需使用global关键字,并注意全局变量的初始化类型一致性。
摘要由CSDN通过智能技术生成
问题难点

接收数据和发送数据无法同时进行。

解决方法

根据视频思路,使用两个线程分别用来接收和发送数据。

代码
from threading import Thread
from socket import *

# 收收据
def recvData():
    while True:  
        recvInfo = udpSocket.recvfrom(1024)
        print("收到%s;%s" %(str(recvInfo[1]),recvInfo[0].decode("gb2312")))

# 发数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值