时间:2021-05-26
一 需求
一个多商家的电商系统,比如京东商城,不同商家之间的客服是不同的,所面对的用户也是不同的。要实现这样一个电商系统的客服聊天系统,那该系统就必须是一个支持多客服、客服一对多用户的聊天系统。
二 思路
使用 Node.js 搭建服务器,安装 websocket 模块、node-uuid模块。通过在客服端和用户端传递 客服ID 和 用户ID 来进行消息的传送。
三 具体实现
3.1 搭建 Node 服务器
参考本人前面的文章 《Centos6.8 下 Node.js 的安装》。
3.2 安装 ws 模块、node-uuid 模块
npm install wsnpm install ws3.3 创建 server.js
在项目里面新建一个server.js,创建服务,指定8906端口(下面是主要代码,仅供参考)
const WebSocket = require('ws');onst wss = new WebSocket.Server({ port: 8906 });const uuid = require('node-uuid');// 省略一些参数的定义// 服务端处理连接wss.on('connection', function(ws) { console.log('client [%s] connected', clientIndex); var connection_uuid = uuid.v4(); var nickname = "AnonymousUser" + clientIndex; clientIndex += 1; clients.push({ "id": connection_uuid, "ws": ws, "nickname": nickname }); //服务器收到消息时 ws.on('message', function(e) { var data = JSON.parse(e); var type = data.type; // 省略业务处理逻辑 }); // ws连接关闭时触发的操作 ws.on("close", function () { websocketClose(); }); // 省略函数 websocketClose()、wsSend()、socketClose 的定义 // 聊天服务器关闭所触发的操作 process.on("SIGINT", function () { console.log("SOCKET CLOSED!"); ("客服已关闭,请稍后再来"); process.exit(); });});3.4 创建 customer.html
该页面是用户页面。在页面上建立一个WebSocket的连接,并实现向服务器端发送消息(下面是主要代码,仅供参考)
<script> //建立连接 const ws = new WebSocket("ws://22.33.66.88:8906"); var client_id = ''; //ws连接打开后的操作 ws.onopen = function (e) { //向服务器发送该ws连接的用户信息 }; //收到消息处理 ws.onmessage = function (e) { // 省略 }; //ws连接出错所触发的操作 ws.onerror = function (e) { // 省略 }; //ws连接关闭时所触发的操作 ws.onclose = function (e) { // 省略 }; // 省略函数 appendLog()、sendMessage()、sendMessage2()、wsSendMessage() 的定义</script>3.5 创建 customerService.html
该页面是客服页面,类似于 customer.html,代码方面可参考 customer.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文属于nodejs+websocket实时聊天系统的改进版本,具体内容如下自己也是真的菜,一个websocket简单聊天系统硬被我搞了那么些天。看来以后还是得
vue+django实现一对一聊天和消息推送的功能。主要是通过websocket,由于Django不支持websocket,所以我使用了django-chann
1/概述利用SpringBoot作为基础框架,SpringSecurity作为安全框架,WebSocket作为通信框架,实现点对点聊天和群聊天。2/所需依赖Sp
由于本文的能力有限,有好多聊天逻辑的细节没有实现,只实现了群发,具体代码如下所示:php代码:$serv=newswoole_websocket_server(
一、简介这是一款基于JS实现的超轻量级桌面版聊天软件。主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。也支持web网页聊天