NodeJS UDP 多播如何

2024-03-26

我正在尝试将 UDP 多播数据包发送到:230.185.192.108,以便每个订阅的人都会收到。有点卡住了。我相信它的广播正确,但似乎无法从任何客户端获取任何信息。

Server:

var news = [
   "Borussia Dortmund wins German championship",
   "Tornado warning for the Bay Area",
   "More rain for the weekend",
   "Android tablets take over the world",
   "iPad2 sold out",
   "Nation's rappers down to last two samples"
];

var dgram = require('dgram'); 
var server = dgram.createSocket("udp4"); 
server.bind();
server.setBroadcast(true)
server.setMulticastTTL(128);
server.addMembership('230.185.192.108'); 

setInterval(broadcastNew, 3000);

function broadcastNew() {
    var message = new Buffer(news[Math.floor(Math.random()*news.length)]);
    server.send(message, 0, message.length, 8088, "230.185.192.108");
    console.log("Sent " + message + " to the wire...");
    //server.close();
}

Client

var PORT = 8088;
var HOST = '192.168.0.102';
var dgram = require('dgram');
var client = dgram.createSocket('udp4');

client.on('listening', function () {
    var address = client.address();
    console.log('UDP Client listening on ' + address.address + ":" + address.port);
    client.setBroadcast(true)
    client.setMulticastTTL(128); 
    client.addMembership('230.185.192.108');
});

client.on('message', function (message, remote) {   
    console.log('A: Epic Command Received. Preparing Relay.');
    console.log('B: From: ' + remote.address + ':' + remote.port +' - ' + message);
});

client.bind(PORT, HOST);

参考有关 NodeJS 数据报的更多信息

  • http://nodejs.org/api/dgram.html http://nodejs.org/api/dgram.html

Changed:

client.addMembership('230.185.192.108');

to

client.addMembership('230.185.192.108',HOST); //Local IP Address
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NodeJS UDP 多播如何 的相关文章

随机推荐

  • 如何使用 Xdocument 将 xml 元素值转换为字符串

    我将 xml 存储在字符串中 并使用 Xdocument 将字符串解析为 xml 从中我需要获取 xml 元素值 并使用该值将其插入到数据库中 任何帮助 将不胜感激 XML
  • vim 一次选择/编辑多个非连续行

    我有一个带有字符串的文件 8 deb http ftp de debian org debian stable main contrib non free 9 deb http ftp de debian org debian stable
  • WebView 未正确显示

    WebView未正确显示网站 任何帮助都会很棒 我使用的代码在所有其他网站上都有效 不确定是什么问题 有什么我应该补充的吗 在 Chrome 和其他浏览器中运行良好 所以不知道该怎么做 任何帮助都会很棒 WebView Chrome pub
  • ValueError:负数不能求小数次方

    当我在终端尝试这个时 gt gt gt 3 66 26 32 0 2 我收到以下错误 Traceback most recent call last File
  • 将 VarBinary RTF blob 转换为 MS SQL 中的文本

    我正在使用 SQL Server 2008 Column Datatype VarBinary RTF 文件被压缩并保存到此 varbinary 列 现在如何使用 SQL 访问和查看 RTF 文件中的数据 它返回这个 弰巎楛 etc 此处尝
  • 带有 JSON 的范围对象

    我正在编写一个 Chrome 扩展程序 我需要将用户在网站上选择的值传递到我的服务器 我正在使用返回范围对象的代码 window getSelection 我正在使用 JSON 将范围对象传递回我的服务器 但它不起作用 我对此很陌生 但我认
  • C# 无法获取某些客户端计算机名称

    我使用下面的代码来获取客户端计算机名称 但是它适用于某些客户端 而某些客户端会出现错误 string IPAdd Request UserHostName IPHostEntry hostEntry Dns GetHostEntry IPA
  • IIS 上的 django,进程意外退出

    我已经阅读了关于该主题的所有文章 但我仍然无法在 IIS 上运行 django 项目 错误消息为 500 Internal Server Error c program files x86 python 3 5 python exe Fas
  • 如何更改 WPF 中绑定选项的默认值?

    在我当前的项目中 我使用了几个文本框控件 其内容由来自数据库的对象填充 该对象使用验证来验证文本的正确插入 当我想显示验证错误 即文本有很多字符 时 我必须向文本属性添加一些绑定选项 如下行所示
  • 删除 json_encode() 中的双引号

    我想删除 json encode 中的双引号 这是我的代码
  • 如何使用 Python 多线程处理 MySQL 连接

    我有一个主要的 Python 脚本 它连接到 MySQL 数据库并从中提取一些记录 根据返回的结果 它会启动与抓取的记录一样多的线程 类实例 每个线程都应该返回数据库并通过将一个状态标志设置为不同的状态 进程已启动 来更新另一个表 为了实现
  • Laravel 将数据透视表附加到具有多个值的表

    背景 我正在创建一个围绕食物过敏的数据库 并且食物和过敏之间存在多对多的关系 还有一个枢轴值称为severity其中有一个数字代表对该食品过敏的严重程度 这个链接表看起来像这样 food id allergy id severity 1 1
  • 指定与 Chef Solo 一起运行哪些食谱

    我正在使用 Chef solo 在本地测试我的食谱 但我希望能够只运行我正在测试的食谱 目前 chef solo 似乎将运行在solo rb 中指定的cookbooks 目录中的所有cookbook 我已经在 json 属性文件中指定了运行
  • 通过 jQuery ajax 调用将值列表传递给 django 视图

    我正在尝试使用 jQuery ajax 调用将数值 ids 列表从一个网页传递到另一个网页 我不知道如何传递和读取列表中的所有值 我可以成功发布和读取 1 个值 但不能成功发布和读取多个值 这是我到目前为止所拥有的 jQuery var p
  • Bootstrap 输入组插件对齐问题

    我的输入组插件与我的输入文本框不对齐 我做错了什么 div class form group div
  • 我无法让 phpseclib 工作

    我想做的事 我想要upload download一个文件通过sftp using php The phpseclib library看起来很有前途 我已经做了什么 我将composer json更改为 require nicolab php
  • 如何在Azure中创建或使用本地文件夹?

    我需要从 SFTP 服务器下载文件 下载的文件存储到本地文件夹 D Data tempData csv 我必须从本地文件读取数据并在我的应用程序中使用以进行其他数据操作 此作业是使用 Azure Web 作业中的 Web 挂钩计划程序创建的
  • 我的“zipLatest”运算符是否已经存在?

    关于我自己写的一个运算符的快速问题 请原谅我可怜的大理石图表 zip aa bb cc dd ee ff gg 11 22 33 44 55 a1 b2 c3 d4 e5 combineLatest aa bb cc dd ee ff gg
  • 使用 f:convertNumber 时设置小数点分隔符

    我想知道如何在 JSF 应用程序上设置默认的小数点分隔符 我有一些
  • NodeJS UDP 多播如何

    我正在尝试将 UDP 多播数据包发送到 230 185 192 108 以便每个订阅的人都会收到 有点卡住了 我相信它的广播正确 但似乎无法从任何客户端获取任何信息 Server var news Borussia Dortmund win