nodejs dgram模块广播+组播的实现示例
更新时间:2019年11月04日 09:40:07 作者:普若木特
这篇文章主要介绍了nodejs dgram模块广播+组播的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本机IP地址是10.8.93.80,

具体信息如上图所示
根据计算得知我的广播地址应该是10.8.93.255,不是10.8.93.254哦。
其它内容就直接上代码
server.js
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
const multicastAddr = '224.100.100.100';
server.on('close', () => {
console.log('socket已关闭');
});
server.on('error', (err) => {
console.log(err);
});
server.on('listening', () => {
console.log('socket正在监听中...');
server.addMembership(multicastAddr); // 不写也行
server.setBroadcast(true);
server.setMulticastTTL(128);
setInterval(() => {
sendMsg();
}, 1500);
});
server.on('message', (msg, rinfo) => {
console.log(`receive client message from ${rinfo.address}:${rinfo.port}`);
});
function sendMsg() {
console.log('sending');
server.send('大家好啊,我是服务端广播消息', 8061, '10.8.93.255');
server.send('大家好啊,我是服务端组播消息', 8061, multicastAddr);
}
server.bind('8060'); // 此处填写IP后无法组播
client.js
const dgram = require('dgram');
const client = dgram.createSocket('udp4');
const multicastAddr = '224.100.100.100';
client.on('close', () => {
console.log('socket已关闭');
});
client.on('error', (err) => {
console.log(err);
});
client.on('listening', () => {
console.log('socket正在监听中...');
client.addMembership(multicastAddr);
});
client.on('message', (msg, rinfo) => {
console.log(`receive server message from ${rinfo.address}:${rinfo.port}:${msg}`);
});
client.bind(8061); // 此处必须绑定自己的局域网IP或者不填,填localhost是不行的
代码中我的服务器是绑定的8060端口,向广播地址的8061端口发送广播,故意改成不一样的是为了本机的客户端也能够接收试试,不然不就端口占用了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Win7系统只能安装的nodejs13.14,如何安装高版本nodejs
正常情况下,Win7支持的Node.js最高版本是V13.14,但在开发过程中,有不少Vue项目或其他需要依赖Node环境的项目,对Node版本要求都比较高,对此,我们要么重装操作系统到Win8以上,要么就得想办法在Win7中安装高版本的Node,否则很多项目在编译打包时可能会出现警告信息或失败2024-11-11
node.js中的http.response.write方法使用说明
这篇文章主要介绍了node.js中的http.response.write方法使用说明,本文介绍了http.response.write的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下2014-12-12
Nest.js Controller路由和请求处理强大功能解析
这篇文章主要为大家,介绍了Nest.js Controller路由和请求处理强大功能解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-12-12


最新评论