node.js用dgram接收udp信号进行解析,并用websocket发送到浏览器前台

最近在做一个实验,接收udp信号发送过来的卫星航迹数据,在后台解算出它的航迹数据,然后将航迹数据发送到浏览器前端,将卫星的航迹图在浏览器前端可视化出来。

一、接收udp信号数据,在后台对原始数据解析解算

在这里插入图片描述

上图看到的是是一个udp信号发送模拟器,它发送的是卫星的航迹数据,发送端是在本机的6001端口,接收客户端是在本机的6000端口。(即发送器将udp信号数据从6001端口发送到6000端口
在node.js中,可用“dgram”数据报模块绑定本机的6000端口,接收到发送过来的udp数据。代码如下:

// 创建服务端,6000端口
    const dgram = require('dgram');
    let server = dgram.createSocket('udp4');
    //绑定端口和主机地址
    server.bind(6000);

上面三行代码中,第一行引入了“dgram”数据报模块,引入了该模块就能创建一个声明为“server”的对象,然后用“server”的“bind()”方法,绑定6000端口,就为后面接收到udp数据做准备

//有新数据包被接收时,触发    
	 var pp=[];      //定义一个数组,存放一帧数据中四个航迹点的数据
    server.on('message', function (msg, rinfo) {

        const buf1=msg.slice(0,2);			//切分出航迹信息的HEAD
        const buf2=msg.slice(2,4);			//切分出航迹信息的N
        const buf3=msg.slice(4,6);			//切分出航迹信息的TYPE
        const buf4=msg.slice(6,42);			//切分出第一个航迹点的所有数据
        const buf5=msg.slic
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值