溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs如何實現UDP組播示例方法

發布時間:2021-04-19 11:24:46 來源:億速云 閱讀:434 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關nodejs如何實現UDP組播示例方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

其中單播模式是最常用,這里就不再啰嗦了,網上隨便都能搜到。

下面的示例主要實現簡單的UDP組播方式??梢哉J瞻lUDP數據。

Server端代碼

const dgram = require('dgram');
const server = dgram.createSocket('udp4');

// const local_ip = "192.168.0.xx";
const multicast_ip = "225.0.0.100"; // 這里必須是一個組播地址(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(); // 隨機綁定本機一個端口

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";  // 這里必須是一個組播地址(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'); // 監聽組播數據的端口

關于“nodejs如何實現UDP組播示例方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女