nodejs-websocket 的簡單用法和安裝


網上很多的websocket我都看不懂,看了個視頻才慢慢懂了點

視頻鏈接:https://www.imooc.com/learn/861

以下都是根據老師的步伐走的

先打開cmd 或者 powershell 鍵入 cd 進入服務端的地址,再鍵入 npm install nodejs-websocket

還有nodejs也要安裝 地址:https://nodejs.org/en/

安裝成功后,在nodejs-websocket下新建js

js 服務端大致代碼:

var ws = require('nodejs-websocket');
var port=3000
var server = ws.createServer(function(conn){
    //受到連接觸發//
//在服務端cmd安裝npm install nodejs-websocket//
    console.log('new connection');
    conn.on("text",function(str){
        // 收到信息觸發     接收 //
        console.log("received"+str)
        boardcast(str) // 廣播消息 //
        conn.sendText(str) // 發送 數據 //
    })
    conn.on("close",function(code,reason){
        // 斷開連接觸發 //
        console.log("connection closed")
    })
    conn.on("error",function(err){
        // 出錯觸發 //
        console.log("header err")
        console.log(err)
    })
    function boardcast(str){  // 廣播 //
    // server.connections  保存每個連接進來的用戶 //
    server.connections.forEach(function(conn){   //  .forEach 是調用數組里每個元素  //
    conn.sendText(str)
    })
    }
}).listen(port)
console.log("websocket server listen port is" + port)

 

接下來看看客戶端的大致代碼:

<html>
   <head>
   <title>first socket</title>
   </head>
   <body>
     <h1>myfitst room</h1>
    <input type="text" id="snedTxt" />
    <button id="sendb">發送</button>
    <div id="recv"></div>
      <script type="text/javascript">
      var ws = new WebSocket("ws://localhost:3000/");// 設置服務器地址 //
      ws.onopen=function(){  // onopen 連接觸發 //
        console.log("websocket open");
        document.getElementById("recv").innerHTML="Connected";
                                   //  innerHTML 可以 獲取 也可以 插入  //
                     
      }
      ws.onclose=function(){ // onclose 斷開觸發 //
        console.log("websocket close");
      }
      ws.onmessage =function(e){ // onmessage 接收到信息觸發  //
      console.log(e.data);
      document.getElementById("recv").innerHTML = e.data;

      }
      document.getElementById("sendb").onclick=function(){ // 監測 id=“sendb”的 按鈕 觸發 onclick 就會發送數據 send // 
        var txt = document.getElementById("snedTxt").value;
        ws.send(txt);
      }
      </script>
   </body>
</html>

 

html 直接運行

js 則要cmd cd到根目錄 鍵入 node 文件名.js

這樣就算成功了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM