nodejs dgram模塊廣播+組播的實現(xiàn)示例
更新時間:2019年11月04日 09:40:07 作者:普若木特
這篇文章主要介紹了nodejs dgram模塊廣播+組播的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
本機IP地址是10.8.93.80,

具體信息如上圖所示
根據(jù)計算得知我的廣播地址應該是10.8.93.255,不是10.8.93.254哦。
其它內(nèi)容就直接上代碼
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正在監(jiān)聽中...');
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正在監(jiān)聽中...');
client.addMembership(multicastAddr);
});
client.on('message', (msg, rinfo) => {
console.log(`receive server message from ${rinfo.address}:${rinfo.port}:${msg}`);
});
client.bind(8061); // 此處必須綁定自己的局域網(wǎng)IP或者不填,填localhost是不行的
代碼中我的服務器是綁定的8060端口,向廣播地址的8061端口發(fā)送廣播,故意改成不一樣的是為了本機的客戶端也能夠接收試試,不然不就端口占用了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Win7系統(tǒng)只能安裝的nodejs13.14,如何安裝高版本nodejs
正常情況下,Win7支持的Node.js最高版本是V13.14,但在開發(fā)過程中,有不少Vue項目或其他需要依賴Node環(huán)境的項目,對Node版本要求都比較高,對此,我們要么重裝操作系統(tǒng)到Win8以上,要么就得想辦法在Win7中安裝高版本的Node,否則很多項目在編譯打包時可能會出現(xiàn)警告信息或失敗2024-11-11
node.js中的http.response.write方法使用說明
這篇文章主要介紹了node.js中的http.response.write方法使用說明,本文介紹了http.response.write的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下2014-12-12
了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫交互
這篇文章主要介紹了了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫交互,需要的朋友可以參考下2014-12-12
Nest.js Controller路由和請求處理強大功能解析
這篇文章主要為大家,介紹了Nest.js Controller路由和請求處理強大功能解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12

