hyperf实现私聊与群里

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

php
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 35

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

1年前 评论
mmxhn1258 (楼主) 1年前

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

1年前 评论
mmxhn1258 (楼主) 1年前
putyy (作者) 1年前
游离不2 1年前

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

1年前 评论
putyy (作者) 1年前
白小二 1年前
mmxhn1258 (楼主) 1年前
mmxhn1258 (楼主) 1年前
mmxhn1258 (楼主) 1年前

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

1年前 评论
mmxhn1258 (楼主) 1年前
mmxhn1258 (楼主) 1年前

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

1年前 评论
mmxhn1258 (楼主) 1年前
白小二

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

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

可以试试我这个包: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服务器发出广播指令,将消息下发给每个在线的连接。至于楼主要的单聊、群聊,其实就是我这个包里的单播、组播,或者是单播、发布。

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

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

1年前 评论

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

1年前 评论
梦想星辰大海

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

1年前 评论
xiucai 1年前

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

1年前 评论
梦想星辰大海 1年前
梦想星辰大海 1年前

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