想用laravel(6版本)实现即时聊天功能,无从下手

之前没有接触过这方面的东西,swoole也不会使用,望圈内大佬指点一二,感谢

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 22

:sweat_smile:getwayworker简单 基于workerman封装的 直接用workerman反而麻烦 因为你需要保持心跳

给你讲一下理论吧
首先你把 getwayworker当成一个推送工具 你业务逻辑放在laravel处理 然后laravel把要通知的东西和getwayworker说 getwayworker再和前端建立一个链接 再和前端进行交互 首先就是不要把它当成那么复杂的东西 当成一个推送器中间的就行了

  • http 协议 请求 因为普通的http请求是 谁请求他 他就返回结果给谁
  • websocekt 协议 双工通信 只要连接了这个服务 那么这个服务可以向其他人返回 前提是得建立连接

那么这时候业务逻辑就是

1.先打开getwayworker 运行 php start.php
2.首先前端和getwayworker建立一个链接 new ws()具体不写了
3.然后发送个http请求到laravel对应的控制器 然后控制器对应的代码逻辑就是服务端也链接先打开getwayworker 向getwayworker发送数据(最好json格式,里面好判断这条信息发给谁)触发onmessage方法 之前不是已经建立链接了嘛前端和getwayworker 就推过去给前端

大体就这张图意思
Laravel
附上文档链接
www.workerman.net/doc/gateway-work...

1年前 评论
礼物粑粑 (楼主) 1年前
xiaochong0302

使用workman的解决方案非常的简单快捷

1年前 评论
Complicated

强烈推荐 workman

1年前 评论

lab.dogeow.com/chat 我写了个 demo(可能有 bug)

1年前 评论

一般浏览器来说前端用socketio.js,后端可用 workman。

1年前 评论

用封装好的框架去写散 很简单 getwayworker、hyperf都有,只需要实现对应 onMessage onClose啥的逻辑就行

1年前 评论

看我的例子 可以做出来的 要和workerman配合

1年前 评论
礼物粑粑 (楼主) 1年前
wmhello (作者) 1年前
wmhello (作者) 1年前
礼物粑粑 (楼主) 1年前

websocket你可以理解成起了个服务去专门干与前端的长连接,像是php-fpm本身其实并不适合干这个 要不就是起node 比如laravel-echo 要不就是用workman

1年前 评论

我有例子 自己做的 用workerman结合laravel来开发 ( 【利用workerman制作聊天室与客服效果-哔哩哔哩】 https://b23.tv/8Z9scIb) 事实告诉我不要用laravel-echo-Server 兄弟 这个坑千万不要去拆

1年前 评论

workerman分分钟写出来~

1年前 评论
礼物粑粑 (楼主) 1年前
勇敢的心 (作者) 1年前
礼物粑粑 (楼主) 1年前

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