项目场景:
今天遇见一个问题 由于有两个类对外通信的组播地址和端口一致(这样的操作不好,但是没办法协议已经定好了),就使用同一个QUdpSocket类,绑定两个recvData函数
connect(udpSocket,SIGNAL(readyRead()),this,SLOT(recvData()));
问题描述:
发现两个槽函数每次只有一个函数收到数据,另一个没有收到数据.
原因分析:
,原因是recvData()函数会清空socket类里边的缓存数据,导致另一个类无法读取数据
解决方案:
处理方法:接收数据后,再将数据通过信号发出去,需要使用的类再接收这个信号,进行后续处理.