這篇文章將為大家詳細(xì)講解有關(guān)nodejs如何實(shí)現(xiàn)UDP組播示例方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
其中單播模式是最常用,這里就不再啰嗦了,網(wǎng)上隨便都能搜到。
下面的示例主要實(shí)現(xiàn)簡(jiǎn)單的UDP組播方式??梢哉J瞻l(fā)UDP數(shù)據(jù)。
Server端代碼
const dgram = require('dgram'); const server = dgram.createSocket('udp4'); // const local_ip = "192.168.0.xx"; const multicast_ip = "225.0.0.100"; // 這里必須是一個(gè)組播地址(D類IP地址) server.on('close', ()=>{ console.log('close socket'); }); 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(`receive client message from ${rinfo.address}: ${rinfo.port}: ${msg}`); }); server.bind(); // 隨機(jī)綁定本機(jī)一個(gè)端口 function send_msg(){ console.log('send msg'); server.send('hi, im server...', '8062', multicast_ip); }
Client端代碼:
const dgram = require('dgram'); var client = dgram.createSocket('udp4'); // const local_ip = '192.168.0.xx'; const multicast_ip = "225.0.0.100"; // 這里必須是一個(gè)組播地址(D類IP地址) client.on('close', ()=>{ console.log('client closed'); }); client.on('error', (err) =>{ console.log('client error' + err); }); client.on('listening', ()=>{ console.log('client listening...'); client.setBroadcast(true); client.setMulticastTTL(128); client.addMembership(multicast_ip); }); client.on('message', (msg, rinfo) => { console.log(`receive server message from ${rinfo.address}: ${rinfo.port}: ${msg}`); }); client.bind('8062'); // 監(jiān)聽組播數(shù)據(jù)的端口
關(guān)于“nodejs如何實(shí)現(xiàn)UDP組播示例方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。