• 4387阅读
  • 1回复

qt 网络数据报的解析 [复制链接]

上一主题 下一主题
离线bailizi
 

只看楼主 倒序阅读 楼主  发表于: 2010-12-23
Hi,请教一个问题哈!

我在写一个简单的网络聊天程序,有服务器和客户端。

client 发送数据到 sever上面,
void TestNetClient::SendPacket(CSerialBase& Packet)
{
    m_clientID = 56;

    int size = Packet.GetSize();
    int len =  sizeof(SOP)+ sizeof(int) + sizeof(int) + size +  sizeof(EOP);

    QByteArray block;
    QDataStream out(&block, QIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_4_7);

    //包格式: |开始|长度|ID|数据|结尾|
    out << SOP; //   写入start of packet
    out << len;
    out << m_clientID ;
    Packet.Serialize(out);// 我的真实数据。
    out << EOP ;//   写入end of packet
    
    tcpSocket->write(block);
    qDebug()<< block;
}
请问我该怎么在客户端 处理这个数据呢,当我收到了一段数据,这个数据包以 SOP开始,EOP结尾,我就会把这个段数据重新封装会我的CSerialBase packet。
谢谢!
[ 此帖被bailizi在2010-12-23 16:23重新编辑 ]
离线roywillow

只看该作者 1楼 发表于: 2010-12-23
按照原样依次把数据取出来应该就可以了吧
或者说你不会接收(其实我也不会……)
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个