1、首先,协议的设计应该能够区分不同的各个数据包;其次,它还需要具备一定的兼容性。
2、"id": "short", // 消蝌怦吩曰息类型,1是文本协议格式;是图片协议格式;3是文件勘桄佳蟾协议格式 "sender": "long", // 发送用户唯一id "
3、reciever": "long", // 接受用户唯一id "data": "string" // 消息内容,如果是文本协议则为文本内容;如果是图片协议则为图片地址;如果是文件协议则为文件地址
4、从协议格式可知,将上述数据按照上述固定顺序放入ArrayBuffer中,即可得到一个有特定含义的二进制数据。
5、当我们需要发送此消息时,只需要:在前2个Byte放入id。接下来8个Byte中放入sender。再接下来8个Byte放入reciever。
6、最后紧接着放入一个string类型,以WebSocket系列之字符串如何与二进制数据进行转换博客中的格式为例
7、先将字符串长度构造成一个int类型,放在前4个Byte中,接下来将string类型编码后放入。