首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

QTcpSocket的read、write使用有关问题

2012-12-24 
QTcpSocket的read、write使用问题。我编了一个小程序,实现心跳和校时功能,使用了QTcpSocket的read、write、wai

QTcpSocket的read、write使用问题。
我编了一个小程序,实现心跳和校时功能,使用了QTcpSocket的read、write、waitForReadyRead、waitBytesWriten等函数,可是每次read的时候都要等待,直到下一个write到来才进行,整个程序由此被拖延了不少,校时功能可以慢上20几分钟,愁死我了,这是哪里的问题,那位高手能指点一下?

        if(!this->waitForReadyRead()){
            printf("waitForReadyRead error\n");
            qDebug()<<"error="<<this->errorString();
            return -1;
        }
        int re = this->read(... ...);
        re = this->write(... ...);
        if(!this->waitForBytesWritten()){
            printf("waitForBytesWritten error\n");
            qDebug()<<"error="<<this->errorString();
            return -1;
        }
这样写对吗?
[最优解释]
可以参考Qt的TCP示例
[其他解释]
看样子你的read函数是阻塞的,没有读到数据就一直阻塞的,如果不想这样那你就把socket设置为非阻塞的。

热点排行