国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

WebSocket實現簡單客服聊天系統

2024-05-06 16:37:05
字體:
來源:轉載
供稿:網友

一 需求

一個多商家的電商系統,比如京東商城,不同商家之間的客服是不同的,所面對的用戶也是不同的。要實現這樣一個電商系統的客服聊天系統,那該系統就必須是一個支持多客服、客服一對多用戶的聊天系統。

二 思路

使用 Node.js 搭建服務器,安裝 websocket 模塊、node-uuid模塊。通過在客服端和用戶端傳遞 客服ID 和 用戶ID 來進行消息的傳送。

三 具體實現

3.1 搭建 Node 服務器

參考本人前面的文章 《Centos6.8 下 Node.js 的安裝》。

3.2 安裝 ws 模塊、node-uuid 模塊

npm install wsnpm install ws

3.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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄山市| 登封市| 金华市| 交城县| 柳江县| 凤庆县| 黔南| 安康市| 平湖市| 民和| 淮南市| 忻城县| 乌什县| 山丹县| 神池县| 印江| 桃江县| 滦南县| 八宿县| 贵溪市| 商南县| 永春县| 扶风县| 阳谷县| 浮梁县| 久治县| 六安市| 贺州市| 巴塘县| 富蕴县| 通海县| 澄城县| 新安县| 宜丰县| 瑞昌市| 榆林市| 漾濞| 河津市| 舟山市| 伊宁县| 香港|