laravel-echo-server爬坑过程

laravel-echo-server学习、掉坑、爬坑
2022-06-09 星期四
引用:翻译:使用 Laravel-echo-server 构建实时应用

这是一遍学习笔记,主要记录爬坑过程,基础操作按照引用文章内容操作即可

# 环境
laravel : 8.*

掉坑

跟随文章一步一步安装,server完美启动、server成功接收广播事件,服务端准备结束
npm install 初始化一些依赖组件(如:mix)
npm安装laravel-echo
npm安装socket.io-client(npm install socket.io-client :完美掉坑)

启动服务浏览页面

按图索骥每一步都很完美,毕竟是学习,还没到自由发挥的时候

  • 需要自行处理的:
//运行,监听页面更改,自动编译js
npm run watch
// welcome页面添加  
<script src="{{ mix('js/app.js') }}"></script>
  • 刷新页面:有没有一直在轮询建立链接,一直polling… 哪里出错了?

laravel-echo-server爬坑过程

爬坑

咋回事?开始度娘。。。
没错是socket和服务端链接失败,一直轮询尝试:为啥???
终于,socket.io 版本不一致

检查

该怎么检查版本问题呢?

# 查看laravel-echo-server 的socket.io版本,
# 浏览器访问 (:没错就是这个)
http://localhost:6001/socket.io/socket.io.js 
/*!
 * Socket.IO v2.4.0
 * (c) 2014-2021 Guillermo Rauch
 * Released under the MIT License.
 */
# 确认laravel-echo-server 使用的是2.* 的版本

# 再看看你npm安装的socket.io-client版本是多少?(package.json)
"dependencies": {
    "laravel-echo": "^1.11.7",
  "socket.io-client": "^4.5.1"
}
## 看到了吧,默认安装是最新版本的,

解决

重新安装服务端对应的socket.io版本

#卸载默认安装的版本
npm uninstall socket.io-client

#重新安装对应的版本 2.*
npm i socket.io-client@2.4.0

#重新运行
npm run watch

刷新页面:链接成功

laravel-echo-server爬坑过程

注:如果事件自定义名称(broadcastAs())的话,前端监听事件的时候,一定要带上”.”;否则监听实名的类名称即可(如引用教程)

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

如果是业务对 socket 高度依赖,建议使用 Soketi 来搞,效率会比较可控,具体可以看下 WebSockets 高性能服务

1年前 评论
填不满的坑 (楼主) 1年前

laravel-echo-server 已经不维护了,不建议使用

1年前 评论

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