nodejs websocket
在nodejs server端实现websocket有很多依赖包。ws、websocketserver、express-ws均可以,下面将以websocketserver为例
// Server端实现
var WebSocketServer = require("websocketserver");
// 监听端口9000
server = new WebSocketServer("others", 9000)
var clients = [];
server.on('collection', function (ws) {
clients.push(ws);
server.sendMessage("one", "Welcome to the server!", ws);
});
server.on('message', function(data, id) {
// 广播消息
var mes = server.unmaskMessage(data);
// str为收到的消息
var str = server.convertToString(mes.message);
server.sendMessage('all', "xixi I'm qihr");
console.log(str, '===>str')
});
server.on('closedconnection', function(id) {
console.log("Connection " + id + " has left the server");
});
客户端实现
<html>
<input type="text" id="text">
<input type="button" onclick="sendMessage()" value="online">
<script>
var ws = new WebSocket("ws://localhost:9000");
ws.onopen = function (e) {
console.log('Connection to server opened');
}
ws.onmessage = function(event) {
console.log('Client received a message', event);
};
ws.onclose = function (e) {
console.log('connection closed.');
}
function sendMessage() {
ws.send(document.getElementById('text').value);
}
</script>
</html>