js读取报文(文件读取或请求),将数据转为arrayBuffer(如Uint8Array), 然后根据国网698协议规范,逐个读取不同字节位置上的数据,赋值给代表其含义的自定义属性。很抱歉我没有时间写一个简单的例子,但你可以参考我之前写过的解析rtsp报文的代码:class RTSP { constructor(buf) { if(!buf instanceof ArrayBuffer){ throw new TypeError("param buf is not ArrayBuffer") } const dataView = new DataView(buf.buffer); /** * 0 Video RTP * 1 Video RTCP * 2 Audio RTP * 3 Audio RTCP */ this.channelId = dataView.getUint8(1) /** * RTP包的大小 */ this.dataLength = dataView.getUint16(2) // const one = (dataView.getUint8(2) << 8) + dataView.getUint8(3) // 从第5个字节开始读取RTP包 this.data = buf.subarray(4, 4 + this.dataLength) } }
js读取报文(文件读取或请求),将数据转为arrayBuffer(如Uint8Array), 然后根据国网698协议规范,逐个读取不同字节位置上的数据,赋值给代表其含义的自定义属性。
很抱歉我没有时间写一个简单的例子,但你可以参考我之前写过的解析rtsp报文的代码: