websocket快速搭建(node+websocket)


移動互聯時代,消息的推送越來越重要,其中使用websocket的是最方便的

如何使用websocket 快速搭建一個自己的消息推送機制呢

這里就簡單的使用node+html頁面來實現websocket的消息傳送

node篇

先寫一個監聽服務的文件,這里取名server.js(ws模塊需要自己去安裝, 命令是 npm i ws)

const WebSocket = require('ws'); // 引入模塊
const ws = new WebSocket.Server({port:3000},()=>{ // 監聽接口
	console.log("socket start")
})


let clients = [];
		ws.on('connection',(client)=>{
			//console.log("client:",client)
			clients.push(client)
			client.send("歡迎光臨");
			client.on('message',(msg)=>{
				console.log("來自服務器的數據",msg);
				client.send(msg); // 通過send方法來給前端發送消息
				//sendall();
			})
			client.on('close',(msg)=>{
				console.log("關閉服務器連接")
			})
		})

之后對這個這個文件 node啟動,到對應文件目錄下打命令 node server.js

命令框出現“socket start”字樣就是說嘛服務啟動了,之后就等待前台的命令了

html篇

html這里就做一個簡單消息發送,然后把發送的消息回傳回來

 <!DOCTYPE html>
<html>
  <head>
    <title></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1></h1>
	<br>
	<input type="text" id="sendtext"><button onclick="send()">send</button>
	<script>
		const ws = new WebSocket("ws://localhost:3000/") // 監聽地址端口號
		ws.onopen = function(){
			console.log("服務器連接")
		}
		ws.onmessage= (msg)=>{
			console.log("來自服務器發來的數據"+msg.data)
			console.log("來自服務器msg",msg)
			alert("服務器返回內容:"+msg.data)
		}
			
		ws.onclose=()=>{
			console.log("服務器關閉")
		}
		function send(){
			//alert()
			let msg = document.getElementById("sendtext").value;
			//alert(msg)
			ws.send(msg)
		}
	</script>
  </body>
</html>

這就完成了一個簡單消息發送回傳的功能,需要注意的是這里發送監聽的端口需要和后端監聽端口一致,這里寫的是3000

總結

-- 這里只是用node和html實現一個簡單的功能,但是基本原理都在這里了,可以根據自己的需要來搭建自己消息推送機制。


免責聲明!

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



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