3、客戶端給服務端發訊息和服務端主動推送訊息
阿新 • • 發佈:2019-02-14
index.html
<!-- 客戶端 --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script> /** * 這裡我們建立一個WebSocket,裡面填上服務端連線及埠號 * ws 表示它的協議 * */ var ws = new WebSocket('ws://localhost:2333'); /** * 當連結建立的時候,它有一個onopen事件 */ ws.onopen = function(){ // 客戶端傳送資訊給服務端 ws.send('來自客戶端的資訊'); } /** * 客戶端接受服務端的訊息 */ ws.onmessage = function(e){ console.log(e.data); } </script> </body> </html>
app.js
/** * 服務端 */ /** * 1 將nodejs-websock包引進來 */ var ws = require('nodejs-websocket'); /** * 2 建立一個WebSocket服務,建立TCP連線, * conn就是連進來的連線 * server 監聽2333埠 */ var server = ws.createServer(function(conn){ console.log('New connection'); // 表示新的連線進來了 /** * conn綁一個text事件,並接受一個回撥 */ conn.on('text', function(str){ console.log(str); }); /** * 等待5秒 主動給客戶端推送一條訊息 */ setTimeout(function(){ // 給客戶端傳送訊息 conn.sendText('來自服務端的訊息'); },5000); }).listen(2333);
執行程式,點選【除錯】,【啟動除錯】
開啟頁面,等等5秒