定义了一个简单的基于TCP的面向报文的协议。大致组成就是报文起始标记,协议版本号,载荷类型,载荷,报文结束标记。

我的业务场景是使用protobuf(Google Protocol Buffers)进行客户端与服务端之间通信的数据封装。正如pb文档所说,pb没有提供多信息流式传输的支持,而如果使用如TCP(面向流的协议)就不能直接传输pb了。所以需要自己定义一个协议来进行信息分隔。

样例代码

注:代码位于gist.github.com,如果无法加载样例代码,请手动点击链接访问。