use*_*190 5 udp network-programming node.js
我需要在UDP数据包中发送3条信息,userID(int),auth代码(字符串)和二进制数据。
我如何能够立即发送这些项目并在另一端进行拆分。
我尝试将三个缓冲区与信息连接起来,但是无法找到在另一端拆分它们的方法,因为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);
Run Code Online (Sandbox Code Playgroud)
拆包
var userID = bufFromUDP.readUInt32LE(0);
var authCode = bufFromUDP.slice(4,104);
var BinaryData = bufFromUDP.slice(105,bufFromUDP.length);
Run Code Online (Sandbox Code Playgroud)
您也可以尝试在字段之间添加“分隔符”。前任。
var sep = new Buffer(2);
sep.write(";",0,1,'ascii');
Run Code Online (Sandbox Code Playgroud)
并在Buffer.concat([userID,sep,authCode,sep]);每个字段之后添加 sep 字节。
| 归档时间: |
|
| 查看次数: |
5104 次 |
| 最近记录: |