2015-04-02 81 views
0

那么我正在处理一个tcp套接字协议,我曾经说过,我将不得不按照以下格式发送数据头。tcp套接字数据头混淆

<MessageID=100,DataLen=16000,Checksum=0923> 

因此,标头长度将是48bytes,这是固定的。这里MessageID是要发送的消息标识符,DataLen是实际数据大小(不包括头大小),Checksum是发送数据的校验和。

这是一个合适的方式来建立一个tcp头?通过这种方式,我将不得不使用过多的字符串操作来构建它,并且需要在接收端解析它时执行相同的需求。

我可以向前移动到固定大小的标题,如12bytes,即三个整数值表示相同。还是有更好的方法?

回答

0

我肯定会问这是什么意思,该头格式。他们可能不希望你用纯文本打包标题。这是对带宽和CPU性能的浪费。而且,代码将更加复杂。它在我看来你有一个8位消息ID,16位数据长度和16位校验和。处理这个问题的最好方法是一个固定的五个字节的头文件。