nodejs实现UDP组播示例方法
众所周知,UDP数据传输方式有单播,组播,广播。
其中单播模式是最常用,这里就不再啰嗦了,网上随便都能搜到。
下面的示例主要实现简单的UDP组播方式。可以正常收发UDP数据。
Server端代码
constdgram=require('dgram');
constserver=dgram.createSocket('udp4');
//constlocal_ip="192.168.0.xx";
constmulticast_ip="225.0.0.100";//这里必须是一个组播地址(D类IP地址)
server.on('close',()=>{
console.log('closesocket');
});
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(`receiveclientmessagefrom${rinfo.address}:${rinfo.port}:${msg}`);
});
server.bind();//随机绑定本机一个端口
functionsend_msg(){
console.log('sendmsg');
server.send('hi,imserver...','8062',multicast_ip);
}
Client端代码:
constdgram=require('dgram');
varclient=dgram.createSocket('udp4');
//constlocal_ip='192.168.0.xx';
constmulticast_ip="225.0.0.100";//这里必须是一个组播地址(D类IP地址)
client.on('close',()=>{
console.log('clientclosed');
});
client.on('error',(err)=>{
console.log('clienterror'+err);
});
client.on('listening',()=>{
console.log('clientlistening...');
client.setBroadcast(true);
client.setMulticastTTL(128);
client.addMembership(multicast_ip);
});
client.on('message',(msg,rinfo)=>{
console.log(`receiveservermessagefrom${rinfo.address}:${rinfo.port}:${msg}`);
});
client.bind('8062');//监听组播数据的端口
参考:
https://www.nhooo.com/article/173468.htm
https://stackoverflow.com/questions/14130560/nodejs-udp-multicast-how-to
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。