回复: QTcp通信,怎样当接收到数据后再往下执行?
#6 回 diezzi 的帖子 [y1363386323 03-13 11:21]
diezzi:不是应该做个死循环检测判断吗?然后再跳出向下执行?(2017-03-05 21:06)
死循环会占用CPU的,我还是用的老办法解决的
#7 回 never_forget 的帖子 [y1363386323 03-13 11:22]
never_forget:这个 数据接收是异步的,你不做信号处理就不知道什么时候来继续执行,所以,应该没有其他办法,楼主大大!(2017-03-06 20:24)
你说的很对,新办法我想了好久都没想出来,我还是用的你所指的老办法
#8 [linch2008 03-22 22:07]
新链接过来的时候,可以存储socket。
QTcpSocket *socket = tcpServer->nextPendingConnection();
定义一个槽,收到东西的话就跑到槽函数中,就可以啦
connect(socket, SIGNAL(readyRead()), this, SLOT(readMessageSlot()) );
别用死循环