在Node.js中向255.255.255.255发送和接收UDP广播

时间:2013-05-27 13:35:58

标签: node.js udp ip broadcasting

我正在尝试在Node中实现BOOTP服务器,广播是必需的。可悲的是,文档有点令人困惑,我一直都会遇到奇怪的错误。有趣的是,Windows 7和Ubuntu上的错误有所不同。

有人确实设法将UDP广播发送到255.255.255.255或在此地址下收到一个吗?

有人能为我提供一个简单的节点UDP广播演示吗?

1 个答案:

答案 0 :(得分:0)

使用punt我尝试将连接绑定到端口255.255.255.255上的5000,我收到此错误EADDRNOTAVAIL

我觉得这个地址太笼统了。见link

以下是代码,它只是punt示例的略微修改版本。

var punt = require('punt');
var server = punt.bind('255.255.255.255:5000');
var a = punt.connect('255.255.255.255:5000');

server.on('message', function(msg){
  console.log(msg);
});

setInterval(function(){
  a.send({ hello: 'world' });
}, 150);

产生此错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: bind EADDRNOTAVAIL
    at errnoException (dgram.js:439:11)
    at dgram.js:206:28
    at dns.js:72:18
    at process._tickCallback (node.js:415:13)
    at Function.Module.runMain (module.js:499:11)
    at startup (node.js:119:16)
    at node.js:901:3