qt tcpsocket 的发送有关问题

qt tcpsocket 的发送问题
本帖最后由 cdcc1111 于 2015-01-09 18:37:04 编辑
我的程序需要使用tcp发送。但是特别不稳定,有的时候一次就能发送成功,有的时候得两次才能发送成功,请问可能的原因是什么呢?
bool NetworkOverspeed::sendCardParam(QByteArray &Param,QString selectIPCard) {

    Param.insert(0,"E");
    QHostAddress IP;
    IP.setAddress(selectIPCard);
    tcpSocket->connectToHost(IP,2001,QIODevice::WriteOnly);   
    tcpSocket->write(Param.data(),Param.size());
    if( !tcpSocket->waitForBytesWritten(200) ) {
        tcpSocket->close();
        return 0;
    }
    else
     tcpSocket->close();
    return 1;
}

------解决思路----------------------
要先等待连接成功,再发送。
------解决思路----------------------
使用QTcpSocket的waitforConnection(int)方法,返回真就是连接成功,int是你自己决定的等待时间,单位是毫秒