nodejs实现UDP组播示例方法

 更新时间:2019年11月04日 09:42:56   作者:mapoor  
这篇文章主要介绍了nodejs实现UDP组播示例方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

众所周知,UDP数据传输方式有 单播,组播,广播。

其中单播模式是最常用,这里就不再啰嗦了,网上随便都能搜到。

下面的示例主要实现简单的UDP组播方式。可以正常收发UDP数据。

Server端代码

const dgram = require('dgram');
const server = dgram.createSocket('udp4');

// const local_ip = "192.168.0.xx";
const multicast_ip = "225.0.0.100"; // 这里必须是一个组播地址(D类IP地址)

server.on('close', ()=>{
  console.log('close socket');
});

server.on('listening', ()=>{
  console.log('listening...');
  server.setBroadcast(true);
  server.setMulticastTTL(128);
  server.addMembership(multicast_ip);

  setInterval(()=>{
    send_msg();
  }, 2000);
});

server.on('message', (msg, rinfo)=>{
  console.log(`receive client message from ${rinfo.address}: ${rinfo.port}: ${msg}`);
});

server.bind(); // 随机绑定本机一个端口

function send_msg(){
  console.log('send msg');
  server.send('hi, im server...', '8062', multicast_ip);
}

Client端代码:

const dgram = require('dgram');
var client = dgram.createSocket('udp4');

// const local_ip = '192.168.0.xx';
const multicast_ip = "225.0.0.100";  // 这里必须是一个组播地址(D类IP地址)

client.on('close', ()=>{
  console.log('client closed');
});

client.on('error', (err) =>{
  console.log('client error' + err);
});

client.on('listening', ()=>{
  console.log('client listening...');
  client.setBroadcast(true);
  client.setMulticastTTL(128);
  client.addMembership(multicast_ip);
});

client.on('message', (msg, rinfo) => {
  console.log(`receive server message from ${rinfo.address}: ${rinfo.port}: ${msg}`);
});
client.bind('8062'); // 监听组播数据的端口

参考:

https://www.jb51.net/article/173468.htm
https://stackoverflow.com/questions/14130560/nodejs-udp-multicast-how-to

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • node.JS二进制操作模块buffer对象使用方法详解

    node.JS二进制操作模块buffer对象使用方法详解

    在ES6引入TypedArray之前,JavaScript语言没有读取或操作二进制数据流的机制,本文为大家详细介绍nodeJS中二进制操作模块buffer对象使用方法详解
    2020-02-02
  • 图解NodeJS实现登录注册功能

    图解NodeJS实现登录注册功能

    这篇文章主要介绍了NodeJS实现登录注册功能,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • 在Ubuntu系统上安装Ghost博客平台的教程

    在Ubuntu系统上安装Ghost博客平台的教程

    这篇文章主要介绍了在Ubuntu系统上安装Ghost博客平台的教程,Ghost博客平台以Node.js写成,需要的朋友可以参考下
    2015-06-06
  • Node.js连接Sql Server 2008及数据层封装详解

    Node.js连接Sql Server 2008及数据层封装详解

    这篇文章主要介绍了Node.js连接Sql Server 2008及数据层封装,结合实例形式较为详细的分析了nodejs连接SQL Server2008数据库以及针对数据库操作方法的封装与使用相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • node.js中事件触发器events的使用方法实例分析

    node.js中事件触发器events的使用方法实例分析

    这篇文章主要介绍了node.js中事件触发器events的使用方法,结合实例形式分析了node.js事件触发器events的功能、原理及基本使用方法,需要的朋友可以参考下
    2019-11-11
  • NodeJS实现图片上传代码(Express)

    NodeJS实现图片上传代码(Express)

    本篇文章主要介绍了NodeJS实现图片上传代码(Express) ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 安装多版本node的完整步骤记录

    安装多版本node的完整步骤记录

    在平时的使用中常会遇到这样的场景,手上有多个前端项目,每个项目使用的Nodejs的版本都不太一致,下面这篇文章主要给大家介绍了关于安装多版本node的完整步骤,需要的朋友可以参考下
    2024-01-01
  • 详解Node.Js如何处理post数据

    详解Node.Js如何处理post数据

    这篇文章给大家介绍了如何利用Node.Js处理post数据,文中通过实例和图文介绍的很详细,有需要的小伙伴们可以参考借鉴,下面来一起看看吧。
    2016-09-09
  • Ajax获取node服务器数据的完整步骤

    Ajax获取node服务器数据的完整步骤

    这篇文章主要给大家介绍了关于Ajax获取node服务器数据的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Node.js Express安装与使用教程

    Node.js Express安装与使用教程

    Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,这篇文章主要介绍了Node.js Express安装与使用教程,非常具有实用价值,需要的朋友可以参考下
    2018-05-05

最新评论