• 4122阅读
  • 3回复

好棘手!TCP通信中 数据读不出来 [复制链接]

上一主题 下一主题
离线四个硬币
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-07
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
不知道各位高手遇到过我这种问题没有。

在client端和server端连接成功的情况下:
我从client端发出信息,在发出的过冲中,我先用bytesToWrite()返回待读的数据大小,然后等待一段时间,再用bytesToWrite()返回待读数据的大小。两次的返回值表明数据已经发出了。

在server端,我是把serverSocket的readyread()信号与newDataSlot()槽连接起来了,并且在此槽中设置了状态栏的信息,并且把数据读到QTextEdit中,但是数据没有显示出来,状态栏也没有发生变化,说明readyread()信号没有发出,这是为什么呀?

然后实在没有办法,我想可能是数据没有传过来吧!于是我在server端增加一个按钮,并把他的clicked()信号与某个槽连接起来,并且在此槽中调用serverSocket->bytesAvailable()函数,显示数据已经到达了server端,然后再调用serverSocket->read(..,..);然后再append到
QTextEdit中,但是任然无法显示,readyread()信号也没有发出!请问 这到底是为什么呀,我哪里出错了呀?这部分代码如下:
     qint64 bytes = serverSocket->bytesAvailable();
    QMessageBox::information(this,tr("information"),tr("%1 data wait fof being read").arg(bytes));
    //QString buffer;

    QByteArray buffer = serverSocket->readAll();
    sendText->append((QString)buffer);

请你们指教哈,真的无助了
离线四个硬币
只看该作者 1楼 发表于: 2009-11-07
大家帮帮忙啊!!
离线四个硬币
只看该作者 2楼 发表于: 2009-11-07
我继续等。。。。。。
离线yb824
只看该作者 3楼 发表于: 2009-11-11
快速回复
限100 字节
 
上一个 下一个