鍍金池/ 問答/HTML5  PHP  HTML/ websocket問題

websocket問題

實現(xiàn)客服功能,用戶1與客服聊天,用戶2與客服聊天。這樣,如何實現(xiàn)?多人聊天室已經(jīng)實現(xiàn)了。但是一對一聊天不知道如何去操作。謝謝了。

回答
編輯回答
尐懶貓

https://github.com/walkor/php...

workerman的 websocket

2017年6月19日 14:37
編輯回答
柚稚

買服務(wù). 比開發(fā)便宜, 性能又好, 功能又全.

如果要開發(fā)的話, 使用 swoole, workerman 都挺不錯的.

2018年7月6日 05:25
編輯回答
情未了

你用thinkphp是寫web應(yīng)用吧?如果你是想寫一個socket后端,那就是cli模式下運行了。其實很tp框架就沒多大關(guān)系了。
運行socket服務(wù)器,前端websocket進行連接通信。tp負責(zé)根據(jù)業(yè)務(wù)將相關(guān)數(shù)據(jù)信息保存(mysql、redis、rmq...etc) 然后socket服務(wù)讀取數(shù)據(jù),發(fā)送給客戶端。推薦使用swool 或者workman 都可以的。是在不行就自己寫一個吧。放上之前寫的一個socket——demo。socket

2017年5月3日 03:30
編輯回答
黑與白

修改一下原來的答案,你現(xiàn)在的問題是商家與用戶聊天,有多個商家。其實現(xiàn)在你只需要做到一個可以用websocket聊天的功能就好了,然后每個商戶有自己的id就可以區(qū)分開來商戶了,首先是你先做到一個聊天的功能,多商戶這個很容易解決

2017年12月9日 17:58
編輯回答
情殺

基于websocket開發(fā)一個帶聊天室功能的聊天就可以了。

從開發(fā)難度上來說,建議用socket.io,這玩意是基于nodejs的。

  1. 獲取商家ID和用戶ID,按照字符串升序排好序,然后MD5,排序的目的是商家和用戶不管哪個參數(shù)在前面都可以獲得同樣的聊天室ID

  2. 用剛才的MD5出來的ID作為這兩個人的聊天室ID。然后調(diào)用socket.join

  3. 商家或用戶發(fā)消息的時候,服務(wù)端往聊天室廣播消息

  4. 客戶端兼容廣播消息,如果發(fā)現(xiàn)是自己發(fā)的,不顯示在頁面上

以上做法還可以實現(xiàn)商家擁有多個客服同時聊天的需求,因為商家ID是固定的,哪怕有很多個客服,用戶ID也是固定的,所以一個商家對應(yīng)一個用戶的聊天室ID可以確定,客服加這個聊天室就可以了

2017年1月2日 00:09