chevron_left

Workerman + Laravel + Vue.js 实战聊天室

已发布
第 13 回

课程讲义

Workerman + Laravel + Vue.js 实战聊天室 - 心跳

2023年09月19日
Workerman + Laravel + Vue.js 实战聊天室

心跳

有时候会有些极端的情况,例如客户端掉电、网络关闭、网线掉了、路由故障等。会导致服务端无法触发onClose回调。另外路由节点防火墙会关闭长时间不通讯的socket连接,导致socket长连接断开。

这两种情况都需要使用心跳来解决。所谓心跳,其实就是服务端和客户端定时通信一下就好了。

两种情况

文档中还有个说明,说分两种情况。

首先都是服务端定时向客户端发心跳数据。

如果,客户端不响应数据,那碰到极端情况,可能需要 10 分钟以上才能触发onClose。 另一种是,客户端做响应,如果服务端在指定时间没有收到任何响应的信息,那就直接触发onClose

GatewayWorker

GatewayWorker中实现心跳,也是很简单啊。打开Applications/YourApp/start_gateway.php,取消这两行代码的屏蔽。这样GatewayWorker就会每 10 秒钟,发送一条`{"type":"pi...

课程介绍

1Workerman 是一款纯 PHP 开发的开源高性能的 PHP Socket 服务器框架。被广泛的用于手机 App、移动通讯,微信小程序,手游服务端、网络游戏、PHP 聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。支持 TCP 长连接,支持 Websocket、HTTP 等协议,支持自定义协议。拥有异步 Mysql、异步 Redis、异步 Http、异步消息队列等众多高性能组件。通过此课程学习,你会学习到 Workerman 和 GatewayWorker 框架的用法。除此外,你还会在课程中学习到 1. Vue.js 的基础用法。2. Laravel 中使用 Webpack 运行 Vue.js 组件。3. Laravel 结合 GatewayWorker 开发完善的聊天室。项目 Github 地址你可以从这里得到完整的项目源码。https://github.com/canon4ever/workermanhttps://github.com/canon4ever/workerman)(

适合这样的人

此课程不适合新手。学习前,你至少需要会用Laravel或者ThinkPHP等框架。如果你有一点Vue.js基础就更好了。