如何用HTML5 WebSocket实现一客服系统
互广建站
以下是一个使用 HTML5 WebSocket 实现简单客服系统的示例代码,包括客户端和服务器端的实现:
服务器端(Node.js)
javascript const WebSocket = require('ws'); // 创建 WebSocket 服务器 const wss = new WebSocket.Server({ port: 8080 }); // 当有新的客户端连接时 wss.on('connection', (ws) => { console.log('新的连接建立'); // 接收客户端发送的消息 ws.on('message', (message) => { console.log(接收到消息: ${message}); // 向所有连接的客户端广播消息 wss.clients.forEach((client) => { if (client.readyState === WebSocket.OPEN) { client.send(message); } }); }); // 当连接关闭时 ws.on('close', () => { console.log('连接关闭'); }); });
客户端(HTML 和 JavaScript)
html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>客服系统</title> </head> <body> <input type="text" id="messageInput" /> <button onclick="sendMessage()">发送</button> <div id="messageArea"></div> <script> // 创建 WebSocket 连接 const socket = new WebSocket('ws://localhost:8080'); // 连接打开时 socket.onopen = function (event) { console.log('连接已打开'); }; // 接收服务器发送的消息 socket.onmessage = function (event) { const message = event.data; const messageDiv = document.createElement('div'); messageDiv[xss_clean] = message; document.getElementById('messageArea').appendChild(messageDiv); }; // 发送消息的函数 function sendMessage() { const message = document.getElementById('messageInput').value; socket.send(message); document.getElementById('messageInput').value = ''; } </script> </body> </html>
在上述示例中,服务器端使用 Node.js 的 ws 模块创建了一个 WebSocket 服务器,监听 8080 端口。当有客户端连接时,处理接收消息并向所有连接的客户端广播。
客户端创建与服务器的 WebSocket 连接,输入消息后点击发送按钮将消息发送给服务器,同时接收并显示服务器广播的所有消息。
这只是一个简单的示例,实际的客服系统会更复杂,可能需要处理用户身份、消息存储、界面优化等更多功能。