找回密码
 立即注册
收起左侧

readyread信号只能接收到一次,无法从服务端接收到多次数据

1
回复
5723
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2017-4-13 19:36:44 显示全部楼层 |阅读模式
5Qter豆
首先,服务端使用node.js写的,客户端使用QT写的。
客户端代码如下:
  1. QEventLoop loop;
  2. connect(textTcpSocket,SIGNAL(readyRead()),this,SLOT(receiveNews()));
  3. loop.exec();
  4. void MainWindow::receiveNews(){
  5.         QByteArray s = textTcpSocket->readAll();
  6.         ui->textEdit_rec->append(s);
  7.         loop.exit();
  8. }
复制代码
服务端代码代码就是连着写了三个socket.write()。向socket中分三次写入数据。这里我客户端中用事件循环也是无奈之举。因为如果我不在connect后面暂停程序,连一次数据都读不到。而在connect后暂停,可以读到数据,但是只能读到服务端发送来的第一次数据。后面两个数据读取不到。查了很多资料都没有找到原因,希望得到大牛的帮助。

回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-4-14 09:25:31 显示全部楼层
已解决~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了