websocket问题

实现客服功能,用户1与客服聊天,用户2与客服聊天。这样,如何实现?多人聊天室已经实现了。但是一对一聊天不知道如何去操作。谢谢了。

阅读 3.7k
5 个回答

基于websocket开发一个带聊天室功能的聊天就可以了。

从开发难度上来说,建议用socket.io,这玩意是基于nodejs的。

  1. 获取商家ID和用户ID,按照字符串升序排好序,然后MD5,排序的目的是商家和用户不管哪个参数在前面都可以获得同样的聊天室ID

  2. 用刚才的MD5出来的ID作为这两个人的聊天室ID。然后调用socket.join

  3. 商家或用户发消息的时候,服务端往聊天室广播消息

  4. 客户端兼容广播消息,如果发现是自己发的,不显示在页面上

以上做法还可以实现商家拥有多个客服同时聊天的需求,因为商家ID是固定的,哪怕有很多个客服,用户ID也是固定的,所以一个商家对应一个用户的聊天室ID可以确定,客服加这个聊天室就可以了

修改一下原来的答案,你现在的问题是商家与用户聊天,有多个商家。其实现在你只需要做到一个可以用websocket聊天的功能就好了,然后每个商户有自己的id就可以区分开来商户了,首先是你先做到一个聊天的功能,多商户这个很容易解决

你用thinkphp是写web应用吧?如果你是想写一个socket后端,那就是cli模式下运行了。其实很tp框架就没多大关系了。
运行socket服务器,前端websocket进行连接通信。tp负责根据业务将相关数据信息保存(mysql、redis、rmq...etc) 然后socket服务读取数据,发送给客户端。推荐使用swool 或者workman 都可以的。是在不行就自己写一个吧。放上之前写的一个socket——demo。socket

买服务. 比开发便宜, 性能又好, 功能又全.

如果要开发的话, 使用 swoole, workerman 都挺不错的.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题