首页| 论坛| 消息

标题:QTcp通信,怎样当接收到数据后再往下执行?
作者:y1363386323
日期:2017-03-05 09:08
内容:

QTcp通信,怎样当接收到数据后再往下执行?
例如:
客户端:
tcpSocket->wirite("123");//发送的数据
qDebug()A);
可上面的例子却是当客户端发送一个数据后,就往下执行了(即A-->456),请问怎样解决?


#1 [y1363386323 03-05 10:40]
我看网上有篇资料,说用回调可以解决,但我不知道回调是什么?以及具体怎么用回调解决?
#2 [lxdmp 03-05 10:49]
按你说的,客户端的QTcpSocket在构造的时候可以把readyRead连接到一个slot,在第一次发送完,服务器端有反馈的时候,信号触发到slot,就可以了啊。
还有其他需求的话,再给QTcpStocket绑个上下文,做一些状态的管理什么的就可以实现。
#3 回 lxdmp 的帖子 [y1363386323 03-05 17:43]
lxdmp:按你说的,客户端的QTcpSocket在构造的时候可以把readyRead连接到一个slot,在第一次发送完,服务器端有反馈的时候,信号触发到slot,就可以了啊。
还有其他需求的话,再给QTcpStocket绑个上下文,做一些状态的管理什么的就可以实现。
(2017-03-05 10:49)
你说的这个我也知道,我的宗旨是想提高程序的易读性,即不把要执行的代码放在slot里面,而是放在下面去执行?
#4 [diezzi 03-05 21:06]
不是应该做个死循环检测判断吗?然后再跳出向下执行?
#5 [never_forget 03-06 20:24]
这个 数据接收是异步的,你不做信号处理就不知道什么时候来继续执行,所以,应该没有其他办法,楼主大大!

<< 1 2 >> (1/2)

回复 发表
主题 版块