hyperf实现私聊与群里

那位小伙伴有hyperf项目开发经验,能实现私聊与群聊并能实现分布式部署服务,有偿解决问题。

php
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 35

有其他现成的可以尝试下 ,没必要纠结哪个语言和框架

11个月前 评论
mmxhn1258 (楼主) 11个月前

hyperf github有现成的吧 私聊群聊这个还好 分布式要自己处理 不过也还好,最简单的方式直接用workman GatewayWorker

11个月前 评论
mmxhn1258 (楼主) 11个月前
putyy (作者) 11个月前
游离不2 11个月前

私聊 群聊 处理好fd 与 用户id 的绑定关系

11个月前 评论
putyy (作者) 11个月前
白小二 11个月前
mmxhn1258 (楼主) 11个月前
mmxhn1258 (楼主) 11个月前
mmxhn1258 (楼主) 11个月前

github.com/pim-cloud/pim-service 这个可以直接用

11个月前 评论
mmxhn1258 (楼主) 11个月前
mmxhn1258 (楼主) 11个月前

gatewayworker会简单点 服务搭起来就行 可以配合任何框架

11个月前 评论
mmxhn1258 (楼主) 11个月前
白小二

我是用 swoole 写了个,实现了私聊,群聊,多客户端,掉线,重连的功能, 主要是 id 绑定关系搞好就行

11个月前 评论
mmxhn1258 (楼主) 11个月前
白小二 (作者) 11个月前
mmxhn1258 (楼主) 11个月前
CodingHePing
11个月前 评论
mmxhn1258 (楼主) 11个月前
梦想星辰大海

可以试试我这个包:composer require netsvr-business,websocket的服务端由go实现,维持2万连接没问题,如果要测试服务端的连接承载能力,请务必在Linux环境下跑,因为Linux下的go服务端是用nbio实现的websocket包,用少量的协程承载大量的连接;websocket的业务代码由php实现。
下面是我对这套go+php架构的自测的截图:

Laravel
截图中的,左上1、2两个框是分别向两台go的websocket服务器发起各500个连接。左上3框是php的业务代码进程的监控,可以看到每个进程的内存占用不到70MB。
左下1框是我启动的php业务代码进程。左下2、3两个框是分别向两台go的websocket服务器发起各10个连接,每个连接间隔5秒发出一个1kb的消息。
php端收到消息后会向两台go的websocket服务器发出广播指令,将消息下发给每个在线的连接。至于楼主要的单聊、群聊,其实就是我这个包里的单播、组播,或者是单播、发布。

11个月前 评论
晏南风 11个月前
梦想星辰大海 (作者) 11个月前
xiucai 11个月前
梦想星辰大海 (作者) 11个月前
喜欢悠闲独自在

可以参考我这个开源项目,也是基于hyperf开发的IM wiki.linyiyuan.top/#/

11个月前 评论

我正要做IM,到处找资料,这个帖子就出现在首页了

11个月前 评论
梦想星辰大海

@xiucai 哈喽,netsvr-business-demo连接的是go的worker服务器地址,默认是127.0.0.1:6061,在线websocke测试工具需要连接go的websocket地址,默认是ws://127.0.0.1:6060/netsvr,老哥再检查一下?或者把配置发出来看看。

11个月前 评论
xiucai 11个月前

@梦想星辰大海 按你说的可以在线连接了,不过在线连接如何才能模拟一下群聊?

11个月前 评论
梦想星辰大海 11个月前
梦想星辰大海 11个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!