2 tdarray TDArray 于 2017.01.16 15:49 提问

【新手】nodejs解析udp数据

图片说明

如图,想从接收到的数据里的频率信息和幅度信息读出来。但是这个命令头里的数据点数怎么读出来呢?还有后面的数据?

后端是这样跟我说的,用sizeof读头大小,然后定义个XX,XX.datanum把数据点数知道了,然后内存复制频率信息,再来读取。。。。一脸蒙逼。。。

之前做过读tcp数据的,所以用什么样的方法接收我知道,但是怎么解析呢,之前没有定义的这个命令头,而且数据字节标了的,仅用readInt方法就把数据读出来了。

这个应该怎么弄呢?求大神帮助。

2个回答

devmiao
devmiao   Ds   Rxr 2017.01.16 23:54
TDArray
TDArray   2017.01.17 17:20

楼上的方法是对的,不过之前用tcp方式的时候我已经知道了。
我让后台把命令头读出是8个字节的。init 4字节,bool也是4字节。
然后就简单了,readFloat直接读数据(以我的为例,这里面读出来是800),.length读出来长度为6408,
这就好办了,排除前面的8字节,后面800乘以4+800乘以4=6400刚好分别对应频率和幅度信息,
一个readInt32LE循环读出数据就行了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Node.js开发入门—UDP编程
Node.js也提供了UDP编程的能力,相关类库在“dgram”模块里,使用非常方便。
详细分析Node.js中的UDP模块
问题1:UDP模块的socket的内部签名是什么? Socket { domain: null, _events: { message: [Function], listening: [Function] }, _eventsCount: 2, _maxListeners: undefined, _handle: UDP { fd: undefined,
NODEJS UDP通信
nodejs组播通信最近想学习一下nodejs传输层通信的内容,在网上找了一些资料自己学习着做了一下 [AY-Node.js]写给自己的NodeJs-通讯系统-udp-dgram模块 Node.js:dgram模块实现UDP通信 Node.js Manual & Documentation nodejs可以支持TCP/UDP的通信,主要尝试了UDP组播和广播
NodeJS UDP 客户端
var dgram = require("dgram"); var message = new Buffer("hello node js"); var client = dgram.createSocket("udp4"); client.send(message,0,message.length,41234,"localhost",function(err,bytes){ client
nodejs 封包 访问udp
nodejs 写的 基于UDP 的client,将数据封装成二进制,访问udp server: function cppString(str,len){ this.str = str; this.byteLen = len; this.buffer = new Buffer(len); this.length = this.buffer.length;
Node.js UDP服务器无法收到客户端消息
Node.js UDP服务器无法收到客户端消息          在《Node.js开发实战详解》这本书的第四章里,在架设Node.js服务器后,运行客户端程序,服务器无法收到消息。server.jsvar dgram = require('dgram'); var server = dgram.createSocket('udp4'); server.on('listening', funct
UDP数据包解析解析UDP数据包
UDP数据包解析解析UDP数据包,可以用C#实现UDP数据包的解析
NodeJS研究笔记:利用Buffer类的二进制数据读取接口解析ELF文件格式
javascript 作为前端开发语言,自古来对二进制数据的读取解析方面的支持都很薄弱,一般来说,解析二进制数据时,往往是将数据转换成字符串,然后运用各种字符串操作技巧来实现二进制数据的读取。由于NodeJS 作为后台服务器开发平台,数理逻辑的设计需求超越javascript作为前端语言时界面UI的设计需求,因此,加强二进制数据的读取功能显得越发重要,幸运的是,NodeJS提供了Buffer类,该类
1.4 数据的接收 之 UDP解析
​ 对于UDP协议的处理是从udp_handler()函数开始的。我们知道,这个函数是从tcp_tick()调过来的,其参数就是要处理的数据指针。此时,我们已经可以确定这个数据包使用的是UDP协议。接下来就是判断一下该数据包是否是发送给我们的包。很简单,我们仅仅处理我们感兴趣的包就可以了。其中,包括广播包和明确发给我们的数据包(当然,还应该有我们加入的组播组的数据包,但是WatTCP并不支持组播
Node.js与网络:Node.js对TCP、UDP、Socket、HTTP等协议的实现和支持
OSI七层模型是不同计算机或通信系统间互联的标准体系和框架,在OSI中包括一系列标准和协议,如:TCP/IP、UDP、HTTP等,在Node.js中提供了对这些协议的实现和支持,如:net模块提供了对TCP、Socket的封装和支持,dgram模块提供了对UDP的封装和支持、http模块进一步封装了TCP协议提供了对HTTP的支持。本文对网络中相关协议、概念及Node.js中对相关协议的实现模块做