发送广播数据报
|
我需要向连接到网络的所有计算机(服务器)发送广播数据报。
我正在使用NodeJS组播
客户
var dgram = require(\'dgram\');
var message = new Buffer(\"Some bytes\");
var client = dgram.createSocket(\"udp4\");
client.send(message, 0, message.length, 41234, \"localhost\");
// If I\'m in the same machine \'localhost\' works
// I need to do something 192.168.0.255 or 255.255.255
client.close();
伺服器
var dgram = require(\"dgram\");
var server = dgram.createSocket(\"udp4\");
server.on(\"message\", function (msg, rinfo) {
console.log(\"server got: \" + msg + \" from \" +
rinfo.address + \":\" + rinfo.port);
});
server.on(\"listening\", function () {
var address = server.address();
console.log(\"server listening \" + address.address + \":\" + address.port);
});
server.bind(41234);
谢谢。
没有找到相关结果
已邀请:
3 个回复
苏髓骗撩
套接字选项才能将数据报发送到广播地址。查找
文档,似乎有一个功能。
您可能想以编程方式找到广播地址,但是我无法为您提供帮助。
甲车劲
(Windows)或
(Linux),或检出netmask模块。 服务器(记住将BROADCAST_ADDR更改为正确的广播地址)
客户
UDP组播 组播地址 查看IPv4组播地址空间注册表并在RFC 2365手册的第6部分中进行更深入的说明,我们发现适当的本地范围组播地址为239.255.0.0/16和239.192.0.0/14(也就是说,除非获得许可)使用其他的)。 下面的多播代码在具有这些地址的Linux(和许多其他平台)上可以正常工作。 Windows 8(显然还有Windows 7和其他可能的Windows)通过特定的接口发送和侦听多播,默认情况下,它通常会选择错误的接口,因此您永远不会在另一台计算机上接收多播(仅在本地主机上接收到多播)。 (花了我几个小时才能通过测试弄清楚这一点。)为了使代码可靠地工作,请更改代码,以便为要使用的接口指定主机的IP地址,如下所示: 服务器-
客户-
看一下这些支持源:NodeJS,Java,C#和一个有用的命令,以查看您已订阅了哪些多播地址-
服务器
客户
抵浮细
希望这对某人有帮助;)