laravel 使用websocket 有没有比较优秀的方案?
laravel 使用websocket 有没有比较优秀的方案 能稳定并且支持高并发?
如果用swoole 有没有比较好的第三方包喃?
还是有没有其他更优秀的方案?
高认可度评论:
laravel-s 真心不建议使用
laravels了解一下
workerman
php-socketio,wokerman系的
要不就node,要不就workerman
我们用的这个 Pusher, 如果服务器在国内就不知道有没有延迟
docs.soketi.app/
用workman当中的GatewayWorker吧 这个相对会简单点 附上使用连接www.workerman.net/doc/gateway-work... 融合laravel项目也容易一点 什么心跳啊 常驻内存啊 那些乱七八糟的都帮你处理好了
具体得看你这个的业务复不复杂 如果考虑融合进去不好融合进去 那就swoole 毕竟是个扩展 只要有php文件的地方就行 单独新建一个php文件new swoole ,。。。。一个websocket服务就起来了 但是需要处理的细节可能会有点多
当然是用laravel推荐的soketi
试试laravel官方提供的第三方扩展包 github.com/beyondcode/laravel-webs...
可以看看 Soketi ,我在阿里云搭了一个测试的,你可以看看速度,我们目前使用这个方案。 博客:搭建基于 Soketi 的 WebSockets 高性能服务(Laravel 广播组件零侵入...
laravel-s 真心不建议使用
hyperf
不行用webman啊,而且支持lavavel数据库扩展包
connmix 分布式WebSocket
github.com/connmix/examples/tree/m...
soketi,稳定性不错
laravel-echo-server 或者 laravel-websocket
各有优缺点: 前者是 nodejs 项目,也是官方用作例子的推荐项目,使用的 socket.io 版本较旧,遇上较新的前端包没有兼容,我们前端去升级了他们的包才行; 后者是 laravel 包,好处是兼容 laravel 项目的配置,感觉单独用 laravel 跑这么一个服务有点亏,且没有支持 redis 的订阅发布模式来广播事件;
个人建议独立使用 workman 做 websocket 服务器,使用 GatewayWorker 能快速开发相关功能,前端通过调用 Laravel 或者 tp 等 php 常规框架的接口,接口再调用 websocket 服务器,就能完美解决 websocket 通讯问题,实现了聊天室、客服,包括小程序中的各种实时交互与应用相关的功能。可以看 demo(https://element.wmhello.cn)
swoole就够了