WebSocket实现了一个简单的客户服务聊天系统

电脑杂谈  发布时间:2020-05-31 16:04:24  来源:网络整理

java实现websocket_websocket实现单聊_imkit单聊android

一个要求

像京东商城这样的多商家电子商务系统具有不同的客户服务和不同的用户. 要为此类电子商务系统实现客户服务聊天系统,该系统必须是支持多个客户服务和一对多用户服务的聊天系统.

两个想法

imkit单聊android_java实现websocket_websocket实现单聊

使用Node.js构建服务器并安装websocket模块和node-uuid模块. 通过在客户服务端和用户端传递客户服务ID和用户ID来传输消息.

三个具体实现

3.1构建节点服务器

java实现websocket_imkit单聊android_websocket实现单聊

参考我以前的文章“在Centos6.8下安装Node.js”.

3.2安装ws模块,node-uuid模块

npm install ws
npm install ws

imkit单聊android_websocket实现单聊_java实现websocket

3.3创建server.js

在项目中创建一个新的server.js,创建一个服务websocket实现单聊,并指定端口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();
  });
});

imkit单聊android_websocket实现单聊_java实现websocket

3.4创建customer.html

此页面是用户页面. 在页面上建立WebSocket连接并将消息发送到服务器(以下是主要代码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

以上是本文的全部内容,希望对大家的学习有所帮助,也希望大家都支持dt猫.

链接到本文


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-228993-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...