发现自己写的文章更多是偏向于理论,现在就写点实战的文章吧。 QQ浏览器返回和发送的数据都是通过JceStruct协议来传输的,当然这个传输过程是经过层层加密的.解密后的内容就是JceStruct协议。 JceStruct 协议和Protobuf 协议有点像,也是采用Key-Value的形式。但感觉比Protobuf更简洁一点,也更简单一点。JceStruct 的内容组织形式Key我们先来看看Key是怎么组织的。 描述Key的类为:HeadDatapublic static class HeadData {public int tag;public byte type;}可以看到Key被分为了两部分,一部分是tag,一部分是type。 读取Key的函数为public static int readHead(HeadData headData, ByteBuffer byteBuffer) {byte b = byteBuffer.get();//获取一个byteheadData.type = (byte) (b & 0xF);//低4位为类型headData.tag = (b & 0xF0) >> 4;//高4位为tag,i
………………………………