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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。