在Node.js中使用WebSocket協定進行即時通訊時,我們可以使用ws模組。 ws模組是一個現代化的WebSocket庫,它提供了簡單易用的API,可用於建立WebSocket伺服器和客戶端應用程式。本文將介紹如何在Node.js中安裝和使用ws模組。
一、安裝Node.js
首先,我們需要在本機上安裝Node.js環境。可從官方網站https://nodejs.org/下載適合自己作業系統的Node.js安裝程序,並依指示安裝。安裝完成後,可以在終端機或命令列中輸入以下命令來驗證Node.js是否已成功安裝:
node -v
如果傳回了目前已安裝的Node.js版本號,則表示Node.js已成功安裝。
二、建立WebSocket伺服器
在安裝ws模組之前,我們可以先建立一個WebSocket伺服器,以便更好地理解如何使用該模組。可以透過以下步驟來建立WebSocket伺服器:
- 在本機建立一個資料夾,用於存放專案文件。
-
在命令列中定位到專案資料夾,然後輸入以下命令來初始化一個新的Node.js專案:
npm init -y
-
然後,在項目資料夾中建立一個名為server.js的文件,並輸入以下程式碼來建立一個WebSocket伺服器:
const WebSocket = require("ws"); const server = new WebSocket.Server({ port: 8080 }); server.on("connection", socket => { socket.on("message", message => { console.log(`Received message => ${message} `); }); socket.send("Hello! Message From Server!!"); });
程式碼的第一行引入了ws模組,然後建立了一個WebSocket伺服器實例。此實例使用連接埠號碼8080監聽傳入的連線。當伺服器接收到新的WebSocket連線時,會觸發「connection」事件。在該事件處理程序中,我們可以監聽連接上接收到的訊息,並向連線發送訊息。
-
在命令列中輸入以下命令來啟動WebSocket伺服器:
node server.js
如果一切正常,則可以看到類似於以下輸出:
WebSocket server listening on port 8080
三、安裝ws模組
現在,我們已經準備好使用ws模組了。可以在專案資料夾中輸入以下指令來安裝ws模組:
npm install ws
四、建立WebSocket客戶端
建立WebSocket客戶端也很簡單。我們可以在新的終端機或命令列視窗中輸入以下程式碼來建立一個WebSocket客戶端:
const WebSocket = require("ws"); const socket = new WebSocket("ws://localhost:8080"); socket.on("open", () => { console.log("Connected to WebSocket server..."); }); socket.on("message", message => { console.log(`Received message => ${message}`); }); socket.on("close", () => { console.log("Disconnected from WebSocket server..."); });
在第二行中,我們建立了一個WebSocket客戶端實例,並傳遞了WebSocket伺服器的位址和連接埠號。當WebSocket客戶端連接到伺服器時,會觸發「open」事件。我們可以在該事件回應函數中輸出一條連接成功的訊息。
在第五行中,我們監聽了「message」事件,以便監聽從伺服器接收到的訊息。我們可以在該事件回應函數中輸出從伺服器接收的訊息。
在第八行中,我們監聽了「close」事件,以便在WebSocket客戶端從伺服器斷開連線時輸出一則訊息。
現在,可以在命令列中輸入以下命令來啟動WebSocket客戶端:
node client.js
當WebSocket客戶端連線成功時,會輸出「Connected to WebSocket server...」訊息。然後,WebSocket客戶端會等待從伺服器接收訊息。可以在WebSocket伺服器實例上向客戶端發送訊息,以便在客戶端上接收到伺服器發送的訊息。
結論
本文介紹如何在Node.js中安裝和使用ws模組來實作WebSocket通訊。我們建立了一個WebSocket伺服器,並在其中將連接的客戶端日誌輸出到控制台。接著,我們安裝了ws模組,並創建了一個WebSocket客戶端來連接到伺服器。我們監聽了WebSocket客戶端的開放、關閉和訊息事件,並將WebSocket伺服器發送的訊息輸出到控制台。這些技術可以應用於即時網路應用程式、線上遊戲、聊天應用程式等領域。
以上是nodejs安裝ws模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了React中的使用效應,這是一種用於管理副作用的鉤子,例如數據獲取和功能組件中的DOM操縱。它解釋了用法,常見的副作用和清理,以防止記憶洩漏等問題。

JavaScript中的高階功能通過抽象,常見模式和優化技術增強代碼簡潔性,可重複性,模塊化和性能。

本文討論了JavaScript中的咖哩,這是一種將多重題材函數轉換為單詞彙函數序列的技術。它探討了咖哩的實施,諸如部分應用和實際用途之類的好處,增強代碼閱讀

文章討論了使用DestrestDefault()方法在事件處理程序中預防默認行為,其好處(例如增強的用戶體驗)以及諸如可訪問性問題之類的潛在問題。

本文解釋了React中的UseContext,該文章通過避免道具鑽探簡化了狀態管理。它討論了通過減少的重新租賃者進行集中國家和績效改善之類的好處。

本文討論了React中受控和不受控制的組件的優勢和缺點,重點是可預測性,性能和用例等方面。它建議在選擇之間選擇因素。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)