日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
2022年用于Node.js的優(yōu)秀WebSocket庫(kù)
  • SockJS[1]
  • ws[2]
  • Socket.IO[3]
  • Faye WebSocket[4]
  • SocketCluster[5]
  • Sockette[6]
  • Feathers[7]

要開(kāi)始使用這些庫(kù)中的任何一個(gè),您需要在本地計(jì)算機(jī)上安裝 npm 和 Node.js。在開(kāi)始之前,讓我們介紹一下 WebSockets 的一些重要背景。

WebSockets 是如何工作的?

傳統(tǒng)上,客戶(hù)端和服務(wù)器通過(guò)遵循請(qǐng)求/響應(yīng)周期進(jìn)行通信。但是,WebSockets 允許您以非標(biāo)準(zhǔn)方式在客戶(hù)端和服務(wù)器之間進(jìn)行通信。

WebSockets 在服務(wù)器和客戶(hù)端之間提供了一個(gè)開(kāi)放的連接,允許在服務(wù)器和客戶(hù)端之間進(jìn)行簡(jiǎn)單、即時(shí)的雙向通信,而無(wú)需輪詢(xún)服務(wù)器。WebSockets 對(duì)于構(gòu)建實(shí)時(shí)應(yīng)用程序特別有用,例如實(shí)時(shí)消息傳遞、實(shí)時(shí)流媒體、推送通知、跟蹤、財(cái)務(wù)更新和體育更新等等。

現(xiàn)在我們知道了 WebSockets 的工作原理,讓我們來(lái)看看一些 Node.js 庫(kù),您可以使用它們來(lái)更輕松地使用 WebSockets 進(jìn)行開(kāi)發(fā)。

SockJS

SockJS是一個(gè)JavaScript庫(kù),它以類(lèi)似于本地WebSockets API的方式提供客戶(hù)端和服務(wù)器之間的通信。SockJS[8]的功能與sockjs-node[9]形式的服務(wù)器對(duì)應(yīng),以及SockJS-client[10],一個(gè)JavaScript客戶(hù)端庫(kù)。

在撰寫(xiě)本文時(shí),SockJS 在 GitHub 上有超過(guò) 7000 顆星,在 npm 上每周下載近 700 萬(wàn)次,可以說(shuō)是 Node.js 的最佳 WebSocket 庫(kù)之一。SockJS 遵循 HTML5 WebSocket API 的規(guī)則,提供類(lèi)似于 WebSocket 的對(duì)象。

ws

ws 在 GitHub 上擁有超過(guò) 17500 顆星,在 npm 上每周下載量約為 3500 萬(wàn)次,是可用的最受歡迎的 Node.js WebSocket 庫(kù)之一。

ws 是一個(gè)快速、易于使用、文檔齊全且經(jīng)過(guò)全面測(cè)試的 WebSocket 客戶(hù)端和服務(wù)器實(shí)現(xiàn),幾乎支持所有瀏覽器。因此,ws 是許多開(kāi)發(fā)人員最喜歡的首選庫(kù),這意味著它的社區(qū)是活躍且強(qiáng)大的。

安裝 ws 非常簡(jiǎn)單,可以使用以下命令之一完成:

npm install ws
//
npm i ws

要開(kāi)始使用 ws WebSocket 庫(kù),請(qǐng)查看文檔[11]。

npm install --save-optional bufferutil

上述命令允許你有效地執(zhí)行屏蔽和解除屏蔽WebSocket幀的數(shù)據(jù)有效載荷等操作。

npm install --save-optional utf-8-validate

要有效地檢查消息是否包含有效的 UTF-8,請(qǐng)運(yùn)行上述命令。

Socket.IO

Socket.IO[12] 創(chuàng)建于 2010 年,是一個(gè)流行的 WebSocket 庫(kù),被 Trello 和 Microsoft 等多家大公司使用。Socket.IO 是可靠的,提供負(fù)載平衡、支持二進(jìn)制流、處理代理等功能。

然而,Socket.IO 的主要用途是促進(jìn)瀏覽器和服務(wù)器之間的實(shí)時(shí)、雙向和基于事件的通信。與 ws 一樣,Socket.IO 有一個(gè) Node.js 服務(wù)器和一個(gè) JavaScript 客戶(hù)端庫(kù)。

此外,Socket.IO還包括一些功能,如支持在有代理或負(fù)載均衡器的情況下建立的連接以及在網(wǎng)絡(luò)上進(jìn)行廣播。WebSocket不支持這兩種活動(dòng)。

Socket.IO在GitHub上有近55000顆星,每周在npm上有約300萬(wàn)次下載,是2022年值得關(guān)注的一個(gè)好庫(kù)。文檔非常簡(jiǎn)單明了,這意味著即使是沒(méi)有經(jīng)驗(yàn)的開(kāi)發(fā)者也應(yīng)該能夠在很少的時(shí)間內(nèi)上手。

Faye WebSocket

Faye WebSocket[13] 是從 Faye 項(xiàng)目中提取出來(lái)的,它是一個(gè)多用途的 WebSocket,它可以很容易地在 Node.js 應(yīng)用程序中命令預(yù)先存在的 WebSocket 連接。

Faye WebSocket 僅提供標(biāo)準(zhǔn)的 WebSocket API 和在 Node.js 中構(gòu)建 WebSocket 客戶(hù)端和服務(wù)器所需的類(lèi)。它不提供服務(wù)器本身或提供任何其他抽象。

要安裝Faye WebSocket,請(qǐng)運(yùn)行 npm install faye-WebSocket。Faye項(xiàng)目的README部分提供了入門(mén)的必要文檔。

SocketCluster

??https://socketcluster.io/??

SocketCluster[14]是一個(gè)高度可擴(kuò)展的框架和實(shí)時(shí)的HTTP服務(wù)器引擎,使你能夠一次性使用所有可用的CPU核心來(lái)構(gòu)建多進(jìn)程的實(shí)時(shí)服務(wù)器。有了SocketCluster,后端避免了將Node.js服務(wù)器作為單線(xiàn)程運(yùn)行,工作更有效率,并保持彈性。

SocketCluster框架支持客戶(hù)端-服務(wù)器和通過(guò)pub/sub通道的群組通信。它使用局域網(wǎng)(LAN)來(lái)連接集群的組件。SocketCluster 經(jīng)過(guò)優(yōu)化,可以輕松地從故障或斷開(kāi)連接中恢復(fù),并且不會(huì)丟失數(shù)據(jù)。

在撰寫(xiě)本文時(shí),SocketCluster在GitHub上有近6千顆星,在npm上每周有7千次下載。

Sockette

Sockette[15] 是一個(gè) WebSocket 包裝器,它允許您重用實(shí)例,而無(wú)需多次聲明所有事件偵聽(tīng)器。Sockette 是一個(gè)非常輕量級(jí)的庫(kù),根據(jù) GitHub 頁(yè)面大約只有 367 個(gè)字節(jié)。如果連接丟失,Sockette 會(huì)自動(dòng)重新連接。

考慮到 Sockette 是一個(gè)小工具,最好在初始化的時(shí)候聲明所有的事件監(jiān)聽(tīng)器。要安裝并開(kāi)始使用 Sockette,請(qǐng)運(yùn)行以下命令:

npm install -- save sockette

在撰寫(xiě)本文時(shí),Sockette 在 GitHub 上大約有 2k 顆星,在 npm 上每周下載量為 9k。該文檔是一個(gè)很好的資源。

Feathers

Feathers[16] 框架使用 Socket.IO 模塊,以便您實(shí)時(shí)接收和提供更新。它還使您可以通過(guò)套接字、靈活的插件以及 RESTful API 和資源來(lái)控制您的數(shù)據(jù)。

Feathers 提供了自動(dòng)化和控制的終極組合。使用 Feathers,您可以完全控制 API 的行為方式,同時(shí)仍然受益于提供的工具。

在撰寫(xiě)本文時(shí),該項(xiàng)目在GitHub上有近14000顆星,在npm上每周有26000次下載。Feathers還包括一個(gè)優(yōu)秀的文檔,并以其輕量級(jí)和易于與不同的數(shù)據(jù)庫(kù)集成而聞名。

要安裝 Feathers.js 庫(kù),請(qǐng)運(yùn)行以下命令:

npm install -g @feathersjs/cli

原文:https://blog.logrocket.com/top-websocket-libraries-nodejs-2022/

作者:Oyinkansola Awosan


網(wǎng)頁(yè)標(biāo)題:2022年用于Node.js的優(yōu)秀WebSocket庫(kù)
文章轉(zhuǎn)載:http://www.5511xx.com/article/dpiogpc.html