nodejs-websocket初使用


 

主要實現一個客戶端給服務端發送消息,服務端再推送給客戶端,其中客戶端是有多個

首先來看一下效果

 具體代碼實現:

服務端:

首先需要安裝依賴

npm i nodejs-websocket -S
  
  
 
 
         

然后新建一個app.js文件

app.js代碼如下: 


   
   
  
  
          
  1. const ws = require( 'nodejs-websocket'); //引入websocket
  2. const prot = 8088;
  3. const server = ws.createServer( connection => {
  4. // console.log('有一名用戶連接進來了...')
  5. connection.on( "text", function (str) {
  6. // console.log('我來接收客戶端發過來的消息' + str)
  7. // connection.sendText(str);//返回給客戶端的數據
  8. server.connections.forEach( function (conn) {
  9. conn.sendText(str) //返回給所有客戶端的數據(相當於公告、通知)
  10. })
  11. })
  12. //監聽關閉
  13. connection.on( "close", function (code, reason) {
  14. console.log( "Connection closed")
  15. })
  16. //監聽異常
  17. connection.on( "error",() => {
  18. console.log( '服務異常關閉...')
  19. })
  20. }).listen(prot)

客戶端:

此處略過客戶端的css部分,因為並不好看


   
   
  
  
          
  1. <!-- html -->
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" type="text/css" href="./css/cssReset.css"/>
  8. <link rel="stylesheet" type="text/css" href="./css/index.css"/>
  9. <title> </title>
  10. </head>
  11. <body>
  12. <div id="box">
  13. <div class="msg" id="msg"> </div>
  14. <div class="bottom">
  15. <input type="text" id="inp" value="" />
  16. <button type="button" id="btn">提交 </button>
  17. </div>
  18. </div>
  19. <script type="text/javascript" src="./js/index.js"> </script>
  20. </body>
  21. </html>

   
   
  
  
          
  1. //javascript
  2. let ws = new WebSocket( 'ws://localhost:8088'); //實例化websocket
  3. let val = '';
  4. let btn = document.getElementById( 'btn'); //發消息按鈕
  5. let msg = document.getElementById( 'msg'); //存消息容器
  6. //發消息
  7. ws.onopen = function(){
  8. //點擊按鈕發送消息
  9. btn.onclick = function(){
  10. val = document.getElementById( 'inp').value;
  11. ws.send(val); //發送給服務端數據
  12. }
  13. };
  14. //收消息
  15. ws.onmessage = function (e) {
  16. //e 接收服務端返回的數據
  17. var received_msg = e.data;
  18. msg.innerHTML += received_msg += '<br>'
  19. };
  20. //關閉連接
  21. ws.onclose = function(){
  22. console.log( "連接已關閉...");
  23. };
  24. //拋錯
  25. ws.onerror = function () {
  26. console.log( '服務異常關閉...')
  27. }

此處粘貼一個 nodejs-websocket 在npm上的文檔  點擊查看


免責聲明!

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



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