最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

WebSocket實現(xiàn)簡單客服聊天系統(tǒng)

 更新時間:2017年05月12日 08:43:50   作者:afee666  
這篇文章主要為大家詳細介紹了WebSocket實現(xiàn)簡單客服聊天系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下

一 需求

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

二 思路

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

三 具體實現(xiàn)

3.1 搭建 Node 服務器

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

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

npm install ws
npm install ws

3.3 創(chuàng)建 server.js

在項目里面新建一個server.js,創(chuàng)建服務,指定8906端口(下面是主要代碼,僅供參考)

const WebSocket = require('ws');
onst wss = new WebSocket.Server({ port: 8906 });
const uuid = require('node-uuid');
// 省略一些參數(shù)的定義
// 服務端處理連接
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;
   // 省略業(yè)務處理邏輯
  });

  // ws連接關(guān)閉時觸發(fā)的操作
  ws.on("close", function () {
   websocketClose();
  });
  
  // 省略函數(shù) websocketClose()、wsSend()、socketClose 的定義
  // 服務器關(guān)閉所觸發(fā)的操作
  process.on("SIGINT", function () {
   console.log("SOCKET CLOSED!");
   ("客服已關(guān)閉,請稍后再來");
   process.exit();
  });
});

3.4 創(chuàng)建 customer.html

該頁面是用戶頁面。在頁面上建立一個WebSocket的連接,并實現(xiàn)向服務器端發(fā)送消息(下面是主要代碼,僅供參考)

<script>
  //建立連接
  const ws = new WebSocket("ws://22.33.66.88:8906");
  var client_id = '';
  
  //ws連接打開后的操作
  ws.onopen = function (e) {
   //向服務器發(fā)送該ws連接的用戶信息
  };

  //收到消息處理
  ws.onmessage = function (e) {
   // 省略
  };
   
  //ws連接出錯所觸發(fā)的操作
  ws.onerror = function (e) {
   // 省略
  };

  //ws連接關(guān)閉時所觸發(fā)的操作
  ws.onclose = function (e) {
   // 省略
  };
   
  // 省略函數(shù) appendLog()、sendMessage()、sendMessage2()、wsSendMessage() 的定義
</script>

 3.5 創(chuàng)建 customerService.html

該頁面是客服頁面,類似于 customer.html,代碼方面可參考 customer.html

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js如何根據(jù)URL返回指定的圖片詳解

    node.js如何根據(jù)URL返回指定的圖片詳解

    這篇文章主要介紹了NODE.JS如何根據(jù)URL返回指定的圖片詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Node文件操作匯總實例詳解

    Node文件操作匯總實例詳解

    這篇文章主要為大家介紹了Node文件操作匯總實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 命令行批量截圖Node腳本示例代碼

    命令行批量截圖Node腳本示例代碼

    這篇文章主要給大家介紹了關(guān)于命令行批量截圖Node腳本的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-01-01
  • Node.js中的HTTP模塊與URL模塊

    Node.js中的HTTP模塊與URL模塊

    這篇文章介紹了Node.js中的HTTP模塊與URL模塊,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Node.JS事件的綁定與觸發(fā)示例詳解

    Node.JS事件的綁定與觸發(fā)示例詳解

    Node中的事件模型就是我們常見的訂閱發(fā)布模式,Nodejs核心API都采用異步事件驅(qū)動,所有可能觸發(fā)事件的對象都是一個繼承自EventEmitter類的子類實例對象,這篇文章主要給大家介紹了關(guān)于Node.JS事件的綁定與觸發(fā)事件的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Node.JS中的模塊、exports和module講解

    Node.JS中的模塊、exports和module講解

    這篇文章主要介紹了Node.JS中的模塊、exports和module講解,模塊分為兩類一類是核心模塊一類是文件模塊,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • 使用pm2管理node項目的流程步驟

    使用pm2管理node項目的流程步驟

    pm2?是?nodejs?的進程管理器,默認支持負載均衡,能夠守護進程,還支持查看應用運行時的性能,資源占用情況等,本文給大家介紹了使用pm2管理node項目的流程步驟,需要的朋友可以參考下
    2025-03-03
  • node.js實現(xiàn)為PDF添加水印的示例代碼

    node.js實現(xiàn)為PDF添加水印的示例代碼

    這篇文章主要介紹了node.js實現(xiàn)為PDF添加水印的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • nodejs實現(xiàn)百度輿情接口應用示例

    nodejs實現(xiàn)百度輿情接口應用示例

    這篇文章主要介紹了nodejs實現(xiàn)百度輿情接口應用,結(jié)合實例形式分析了node.js調(diào)用百度輿情接口的具體使用技巧,需要的朋友可以參考下
    2020-02-02
  • node微信小程序登錄實現(xiàn)登錄的項目實踐

    node微信小程序登錄實現(xiàn)登錄的項目實踐

    登陸流程是指小程序用戶進行授權(quán)登陸,即獲取用戶的微信賬號等信息本文就來介紹一下node微信小程序登錄實現(xiàn)登錄,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09

最新評論

太仓市| 田阳县| 梧州市| 东乌珠穆沁旗| 五指山市| 溧阳市| 平南县| 晋中市| 乐安县| 陕西省| 微博| 民和| 宁德市| 高陵县| 日喀则市| 增城市| 丁青县| 巴青县| 南投市| 东乡族自治县| 东光县| 西和县| 卓尼县| 安陆市| 北票市| 木里| 织金县| 铁岭市| 贡觉县| 静乐县| 澄迈县| 平阴县| 阿拉善左旗| 牙克石市| 贡山| 澄迈县| 化隆| 芦溪县| 博罗县| 板桥市| 额尔古纳市|