查看完整版本: [-- tcpserver接收数据 --]

QTCN开发网 -> Qt基础编程 -> tcpserver接收数据 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

shire 2017-01-07 14:40

tcpserver接收数据

我tcp客户端每次发两百个数据到服务器,服务器这边应该怎么接收啊?是用QString吗?Qstring globalString+=this->readWriteSocket->readAll();客户端发送的数据是1234并不是“1234”,怎么把globalstring数据正确显示出来?本来想globalString+=QString::number(this->readWriteSocket->readAll(),10);这样将数据转换成字符串可是报错,qt中tcpserver该怎么接收一个长数据呢?是1234这种类型不是“1234”这种类型

圣域天子 2017-01-07 21:12
数据流,应使用QByteArray存放,然后再按数据格式逐个解析出来,
以下是我从微耕门禁中,读取UDP数据的一段代码,希望对你有用:
  1. QByteArray datagram;
            datagram.resize(MSG_SIZE);
            m_udpServer.readDatagram(datagram.data(), MSG_SIZE);

            swing.index     = *(quint32*)(datagram.data()+ 8);
            swing.action    = *(quint8 *)(datagram.data()+12);
            swing.valid     = *(quint8 *)(datagram.data()+13);
            swing.door      = *(quint8 *)(datagram.data()+14);
            swing.direction = *(quint8 *)(datagram.data()+15);
            swing.card      = *(quint32*)(datagram.data()+16);
            swing.dt        = transformDateTime(datagram.data()+20);
            swing.reason    = *(quint32*)(datagram.data()+27);



查看完整版本: [-- tcpserver接收数据 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled