欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js之如何構建UDP服務

 更新時間:2024年09月06日 10:03:02   作者:一介白衣ing  
這篇文章主要介紹了Node.js之如何構建UDP服務問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

UDP簡介

UDP又稱用戶數(shù)據(jù)包協(xié)議,它和TCP一樣屬于網(wǎng)絡傳輸層。

與TCP不同的是,它不是面向連接的,只需要一個套接字就可以與多個UDP服務通信。

它提供的信息傳輸服務雖然簡單不可靠,并且在網(wǎng)絡差的情況存在丟包問題,但是由于它無需連接,資源消耗低,所以常常應用在一些偶爾丟包也不會產(chǎn)生嚴重影響的場景下。

例如音頻視頻,DNS服務等。

服務端(server.js)

廢話不多講,直接上實例:

const dgram = require("dgram");
 
const server = dgram.createSocket("udp4");
 
server.on("message", (msg, rinfo) => {
  console.log("rinfo.address =  " + rinfo.address);
  console.log("rinfo.port =  " + rinfo.port);
  console.log(msg.toString());
});
 
server.on("listening", () => {
  console.log("address:" + server.address().address);
  console.log("port:" + server.address().port);
});
 
server.bind("41234");

我們使用dgram包的createSocket方法來創(chuàng)建一個udp服務,其實我們即可以用它做服務端,也可以用來作客戶端。

然后綁定listening事件,當服務啟動,就會觸發(fā)監(jiān)聽。

然后綁定message事件,當有客戶端消息發(fā)送過來的時候就會觸發(fā),發(fā)送過來的message是一個buffer

最后調用bind方法,綁定數(shù)據(jù)傳輸端口。

客戶端(client.js)

廢話不多講,直接上代碼:

const dgram = require("dgram");
 
const client = dgram.createSocket("udp4");
 
client.send("hello, nodejs", 41234, "localhost", (err, bytes) => {
  console.error(err);
  console.log(bytes);
  client.close();
  client.on("close", () => {
    console.log("close");
  });
});

客戶端調用send方法來發(fā)送消息,參數(shù)分別代表,要發(fā)送的信息,端口,地址,以及回調。

運行server.js 和client.js進行測試。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論