实现客服功能,用户1与客服聊天,用户2与客服聊天。这样,如何实现?多人聊天室已经实现了。但是一对一聊天不知道如何去操作。谢谢了。
修改一下原来的答案,你现在的问题是商家与用户聊天,有多个商家。其实现在你只需要做到一个可以用websocket聊天的功能就好了,然后每个商户有自己的id就可以区分开来商户了,首先是你先做到一个聊天的功能,多商户这个很容易解决
你用thinkphp是写web应用吧?如果你是想写一个socket后端,那就是cli模式下运行了。其实很tp框架就没多大关系了。
运行socket服务器,前端websocket进行连接通信。tp负责根据业务将相关数据信息保存(mysql、redis、rmq...etc) 然后socket服务读取数据,发送给客户端。推荐使用swool 或者workman 都可以的。是在不行就自己写一个吧。放上之前写的一个socket——demo。socket
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
基于websocket开发一个带聊天室功能的聊天就可以了。
从开发难度上来说,建议用
socket.io
,这玩意是基于nodejs的。获取商家ID和用户ID,按照字符串升序排好序,然后MD5,排序的目的是商家和用户不管哪个参数在前面都可以获得同样的聊天室ID
用刚才的MD5出来的ID作为这两个人的聊天室ID。然后调用
socket.join
商家或用户发消息的时候,服务端往聊天室广播消息
客户端兼容广播消息,如果发现是自己发的,不显示在页面上
以上做法还可以实现商家拥有多个客服同时聊天的需求,因为商家ID是固定的,哪怕有很多个客服,用户ID也是固定的,所以一个商家对应一个用户的聊天室ID可以确定,客服加这个聊天室就可以了