在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中文網其他相關文章!