簡介
ws一個使用簡單,速度極快,穩定的websocket客戶端和服務端的Node.js實現。
安裝
cnpm i --save ws
服務端
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', ws => {
console.log(`[SERVER] connection()`);
ws.on('message', message => {
console.log(`[SERVER] Received: ${message}`);
ws.send(`ECHO: ${message}`, err => {
if (err) {
console.log(`[SERVER] error: ${err}`);
}
});
});
});
客戶端
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>WS</title>
</head>
<body>
<script>
// 創建 WebSocket 對象
var ws = new WebSocket('ws://localhost:8080/');
// 連接建立時觸發
ws.onopen = function() {
console.log('WebSocket已連接');
// 使用連接發送數據
ws.send('Hello!');
};
// 客戶端接收服務端數據時觸發
ws.onmessage = function(msg) {
console.log(msg); // MessageEvent {isTrusted: true, data: "ECHO: Hello!" ...}
// 關閉連接
ws.close();
};
// 通信發生錯誤時觸發
ws.onerror = function(e) {
console.log(e);
};
// 連接關閉時觸發
ws.onclose = function() {
console.log('WebSocket已關閉');
}
</script>
</body>
</html>