網上很多的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
這樣就算成功了