欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一 需求

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

二 思路

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

三 具體實現(xiàn)

3.1 搭建 Node 服務(wù)器

參考本人前面的文章 《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)建服務(wù),指定8906端口(下面是主要代碼,僅供參考)

const WebSocket = require('ws');
onst wss = new WebSocket.Server({ port: 8906 });
const uuid = require('node-uuid');
// 省略一些參數(shù)的定義
// 服務(wù)端處理連接
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 });
  
 //服務(wù)器收到消息時
  ws.on('message', function(e) {
   var data = JSON.parse(e);
   var type = data.type;
   // 省略業(yè)務(wù)處理邏輯
  });

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

3.4 創(chuàng)建 customer.html

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

<script>
  //建立連接
  const ws = new WebSocket("ws://22.33.66.88:8906");
  var client_id = '';
  
  //ws連接打開后的操作
  ws.onopen = function (e) {
   //向服務(wù)器發(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用 Node.js 實現(xiàn)圖片的動態(tài)裁切及算法實例代碼詳解

    使用 Node.js 實現(xiàn)圖片的動態(tài)裁切及算法實例代碼詳解

    這篇文章主要介紹了使用 Node.js 實現(xiàn)圖片的動態(tài)裁切功能,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • 如何利用Node.js與JSON搭建簡單的動態(tài)服務(wù)器

    如何利用Node.js與JSON搭建簡單的動態(tài)服務(wù)器

    這篇文章主要給大家介紹了關(guān)于如何利用Node.js與JSON搭建簡單的動態(tài)服務(wù)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Node.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • node學(xué)習(xí)筆記之讀寫文件與開啟第一個web服務(wù)器操作示例

    node學(xué)習(xí)筆記之讀寫文件與開啟第一個web服務(wù)器操作示例

    這篇文章主要介紹了node學(xué)習(xí)筆記之讀寫文件與開啟第一個web服務(wù)器操作,結(jié)合實例形式分析了nodejs文件讀寫及創(chuàng)建web服務(wù)接收request請求與處理相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • socket.io學(xué)習(xí)教程之基本應(yīng)用(二)

    socket.io學(xué)習(xí)教程之基本應(yīng)用(二)

    socket.io提供了基于事件的實時雙向通訊,下面這篇文章主要給大家介紹了socket.io基本應(yīng)用的相關(guān)資料,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • 詳解Node.js access_token的獲取、存儲及更新

    詳解Node.js access_token的獲取、存儲及更新

    本篇文章主要介紹了Node.js access_token的獲取、存儲及更新 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Node.js 路由的實現(xiàn)方法

    Node.js 路由的實現(xiàn)方法

    這篇文章主要介紹了Node.js 路由的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的簡單步驟講解

    在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的簡單步驟講解

    這篇文章主要介紹了在Linux系統(tǒng)中搭建Node.js開發(fā)環(huán)境的步驟,Node使得JavaScript程序可以在本地操作系統(tǒng)環(huán)境中解釋運行,需要的朋友可以參考下
    2016-01-01
  • Ubuntu 16.04 64位中搭建Node.js開發(fā)環(huán)境教程

    Ubuntu 16.04 64位中搭建Node.js開發(fā)環(huán)境教程

    如果想要在Ubuntu 16.04上安裝Node.js的話,這篇文章對你來說肯定很重要。Node.js從本質(zhì)上來說就是一個運行在服務(wù)端上的封裝好了輸入輸出流的javascript程序。本文給大家詳細(xì)介紹了在Ubuntu 16.04 64位搭建Node.js開發(fā)環(huán)境的步驟,有需要的朋友們可以參考學(xué)習(xí)。
    2016-10-10
  • 實例分析nodejs模塊xml2js解析xml過程中遇到的坑

    實例分析nodejs模塊xml2js解析xml過程中遇到的坑

    這篇文章主要介紹了實例分析nodejs模塊xml2js解析xml過程中遇到的坑,涉及nodejs模塊xml2js解析xml過程中parseString方法參數(shù)使用技巧,需要的朋友可以參考下
    2017-03-03
  • Node.js使用cookie保持登錄的方法

    Node.js使用cookie保持登錄的方法

    本篇文章主要介紹了Node.js使用cookie保持登錄的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05

最新評論