2
我有3条信息,我需要发送一个UDP数据包,userID(int),授权码(字符串)和二进制数据。NodeJS缓冲区拆分,字符串和二进制
我该如何能够一次发送这些项目,并能够在另一端拆分它们。
我试着连接三个缓冲区的信息,但不能想办法在另一端分割它们,因为UID和授权码的长度会有所不同。
我有3条信息,我需要发送一个UDP数据包,userID(int),授权码(字符串)和二进制数据。NodeJS缓冲区拆分,字符串和二进制
我该如何能够一次发送这些项目,并能够在另一端拆分它们。
我试着连接三个缓冲区的信息,但不能想办法在另一端分割它们,因为UID和授权码的长度会有所不同。
假设按照以下规定
包装
var BinaryData=/*Your binary data*/;
var bufToSend = new Buffer(3+100+BinaryData.length);
bufToSend.writeUInt32LE(INTEGER,0);
bufToSend.write(STRING,4,STRING.length,"ascii");
BinaryData.copy(bufToSend,105,0,BinaryData.length);
开箱验收
var userID = bufFromUDP.readUInt32LE(0);
var authCode = bufFromUDP.slice(4,104);
var BinaryData = bufFromUDP.slice(105,bufFromUDP.length);
此外,您可以尝试在字段之间添加“分隔符”。恩。
var sep = new Buffer(2);
sep.write(";",0,1,'ascii');
和在做每个字段后Buffer.concat([userID,sep,authCode,sep]);
添加sep字节。