用nodejs-websocket開發一個websoket服務

阿鋒不知道丶發表於2020-10-18

理解WebSoket

websoket協議含有websoket API介面,通過它來建立全雙工通道來收發訊息,連線遠端伺服器,只需要建立一個WebSocket物件實體,並傳入一個服務端的URL。在客戶端和服務端一開始握手的期間,http協議升級到WebSocket協議就建立了連線,底層都是TCP協議。一旦建立連線,通過WebSocket介面可以反覆的傳送訊息。在你的程式碼裡面,你可以使用非同步事件監聽連線生命週期的每個階段。這裡的nodejs-websoket是對websoket API的再一次封裝

怎樣用nodejs建立一個websoket服務

先建立一個資料夾,並用npm 安裝nodejs-websocket
npm install nodejs-websocket

在檔案下建立app.js檔案.匯入nodejs-websocket包

const ws = require('nodejs-websocket')

建立websoket連結
直接呼叫node.js-websocket的api的createServer方法即可。每次只要有使用者連結,函式就會被執行,就會
給當前連結的使用者傳建一個connect物件

const server = ws.createServer(connect=>{
    console.log(`使用者連結上來了`);
    // 使用者傳遞過來的資料,text事件就會被觸發
    connect.on('text',data=>{
        console.log(`使用者傳來的資料${data}`);
        // 返回使用者資訊
        connect.send(data)
    })
    // 當連線斷開時,就會執行這個事件 註冊close事件就要註冊下面的error事件
    connect.on('close',()=>{
        console.log(`連結斷開了`);
    })

    // 註冊一個error事件,處理使用者的錯誤資訊

    connect.on('error',()=>{
        console.log(`使用者連結異常`);
    })

})

監聽服務埠

server.listen(PORT,()=>{
    console.log(`服務啟動成功,埠號${PORT}`);
})

這時你可以執行node app,並開啟瀏覽器輸入localhost:3000檢視

相關文章