socket包的封装

zsx10110 发布于 2015/03/16 17:08
阅读 218
收藏 1

我有个数据包的结构为

前面4个字节为一个int的值为数据包的长度,后面4个字节为消息类型也是个int型,之后的内容为消息内容为String类型

请问我要如何去构造这个数据包呢。求大神

加载中
0
battyman
battyman
为何不用TLV编码呢,简单方便?消息类型作为Tag,之后的内容长度作为Length,内容作为Value,如果想防止网络抖动和其他不合法的信息,可以前后再加上BeginTag和EndTag,很容易编解码的
0
NDSM
NDSM
用byte转吧
0
songtzu
songtzu

two ways for stream based protocol

1,self defined protocol:

heads     | protocolVersion  | Operation| dateLength | date ends|
----------+-------------------+-----------+-------------+------------+
2Bytes    | 4/8bits             | 1Byte      | 2Bytes      | 2Bytes    | 

2,Other libs

the is something named Google Protocol Buffer(also maybe other similarity libs). use this staff, it meets your need.

In your condition, a self defined protocol is very easy. try it yourself.

返回顶部
顶部