欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

大神帮忙!qt 客户端给服务器发送数据,该如何处理

更新时间: 2014-01-05 02:43:28 责任编辑: Author_N1

 

大神帮忙!!!Qt 客户端给服务器发送数据
客户端代码:
void UI_Main::sendMessage()
{
    QByteArray block;
    QDataStream out(&block,QIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_4_6);
    out<< quint16(0)<<ui->sendLineEdit->text();
    out.device()->seek(0);
    out<<quint16(block.size() - sizeof(quint16));
    tcpSocket->write(block);
    ui->sendLabel->setText("send successful");
}
服务其端代码:
void UI_Main::readMessage()
{
    QTcpSocket *clientConnection = tcpServer->nextPendingConnection();
    QDataStream in(clientConnection);
    in.setVersion(QDataStream::Qt_4_6);
    if (blockSize==0) {
        if(clientConnection->bytesAvailable() < (int)sizeof(quint16)) return;
        in >> blockSize;
    }
    if(clientConnection->bytesAvailable() < blockSize) return;
    in >> message;
    ui->showLabel->setText(message);
}
为什么服务器端收不到信息?
--参考方法--


你服务端怎么响应的? 用了 定时器不断运行函数还是 用了 readyread();?
--参考方法--


另外,你这 blockSize ==0;;; 是什么? 缓冲区数据吧?估计你是这样 想..
  但是你应该这样 QTcpSocket m_tcpskcket;  
                      m_tcpsocket->size() == 0?
  哎,你这代码不贴全,谁知道你要干嘛~!
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:43:28
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13535/
本文WWW.DOC100.NET DOC100.NET版权所有。