laravel配合swoole使用总结
最近对接硬件做了两个项目,用到了swoole
第一个是门禁系统,需要远程开门、离线报警、定时开门、离线刷卡等功能
1.远程开门:
目前用cli创建个临时客户端连接服务端发送命令,服务端处理完成后客户端根据返回状态判断是否开启成功
2.离线报警
客户端断网后并不会服务端的closed()并不能检测到,所以用了swoole自带的心跳检测工具,在出发后会添加报警
3.定时开门
用swoole_timer_tick轮询,有要开门的请求再通过远程开门的原理开门。
4.离线刷卡
卡号写入门禁
另一个是小区门口的道闸,在近处门后不但记录进出照片还要显示屏上显示车牌号等信息。这个功能更简单,但是因为是定制原因,厂家好多功能没完善,只能自己想办法。
比如没有为每个显示屏设置唯一序列号。另外是没有心跳。
唯一序列号我用到的是显示屏设置的dns。因为服务端没用域名,所以dns也就没用了。
这两个项目都没把心跳当做一般心跳处理(即监听是否持续在线,可以直接用swoole自带的心跳)。心跳中一般包含设备唯一序列号,在此项目中没有心跳但我又想获取唯一序列号,只能在显示屏与服务端建立连接时发送指令获取显示屏的dns,再把dns(唯一序列号)和通道保存到数据库中。这样我可以根据dns查找通道就可以指定显示屏发送内容了。
laravel配合swoole使用总结的更多相关文章
- laravel 整合 swoole ,并简单 ab 测试对比性能以及在 PHPstorm 中利用debug调试配置swoole服务中的PHP代码
安装PHP 的 swoole 扩展 及 安装 laravel,就不描述了 整合 laravel 和 swoole 用了这个轮子,侵入性很小,一行代码搞定,推荐一下,今天刚用,不能预测未来是否会遇见坑 ...
- Laravel通过Swoole提升性能
1.安装配置laravel 1.1.composer下载laravel composer create-project --prefer-dist laravel/laravel blog " ...
- PHP laravel+thrift+swoole打造微服务框架
Laravel作为最受欢迎的php web框架一直广受广大互联网公司的喜爱. 笔者也参与过一些由laravel开发的项目.虽然laravel的性能广受诟病但是业界也有一些比较好的解决方案,比如堆机器, ...
- Laravel集成Swoole教程
1.准备工作 安装 Laravel laravel new laravel-swoole 本人使用 valet 进行开发,可以使用 laravel-swoole.test 进行访问 2 ...
- laravel使用swoole
参考 参考2 另外主要用到artisan 首先创建SwooleCommand.php <?php namespace App\Console\Commands; use App\Http\Con ...
- swoole运行模式加速laravel应用的详细介绍
本篇文章给大家带来的内容是关于swoole运行模式加速laravel应用的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.Swoole Swoole号称重新定义了PHP, ...
- 基于Laravel+Swoole开发智能家居后端
基于Laravel+Swoole开发智能家居后端 在上一篇<Laravel如何优雅的使用Swoole>中我已经大概谈到了Laravel结合Swoole的用法. 今天,我参与的智能家居项目基 ...
- Laravel如何优雅的使用Swoole
背景 正在做一个智能家居的项目(钱低的吓死人怎么办),接收下位机(就是控制智能家居硬件模块的HUB)协议解析,Web端维护硬件状态,利用APP交互.由于下位机数据是发送到服务器的XXX端口,所以必须对 ...
- 使用 Swoole 来加速你的 Laravel 应用
Swoole 是为 PHP 开发的生产级异步编程框架. 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTT ...
随机推荐
- UIView封装动画--iOS利用系统提供方法来做转场动画
UIView封装动画--iOS利用系统提供方法来做转场动画 UIViewAnimationOptions option; if (isNext) { option=UIViewAnimationOpt ...
- android——实现多语言支持
我们知道,建好一个android 的项目后,默认的res下面 有layout.values.drawable等目录.这些都是程序默认的资源文件目录,如果要实现多语言版本的话,我们就要添加要实现语言的对 ...
- POJ2478 Farey Sequence —— 欧拉函数
题目链接:https://vjudge.net/problem/POJ-2478 Farey Sequence Time Limit: 1000MS Memory Limit: 65536K To ...
- 整合kxmovie
下载后发现kxmovie 直接运行是不通的,上面我们已经处理了ffmpeg部分的内容.当然了先处理ffmpeg部分.然后再复制kxmovie/kxmovie到项目中导入相应的文件. 编译报错:UIim ...
- 【C/C++】计算两个整数的最大公约数和最小公倍数
算法一 任何>1的整数都可以写成一个或多个素数因子乘积的形式,且素数乘积因子以非递减序出现. 则整数x,y可以分别标记为:x=p1x1p2x2...pmxm y=p1y1p2y2...pmym ...
- HihoCoder 1508 : 剑刃风暴(占位)
描述 主宰尤涅若拥有一招非常厉害的招式——剑刃风暴,“无论是战士还是法师,都害怕尤涅若的武士刀剑技”. 现在战场上有N名敌对英雄,他们的位置分别为(Xi, Yi),而剑刃风暴的伤害范围是一个半径为R的 ...
- @PathVariable @RequestParam @RequestHeader @CookieValue POJO Servlet API
- Maven下org.junit.Test无法使用
原文地址: https://blog.csdn.net/allenChenZhiMing/article/details/81412983 我在看Spring in action(第四版)的时候,看到 ...
- 4.oracle正确卸载步骤
oracle 11g如何完全卸载 方法/步骤1: 停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止 方法/步骤2: 在开始菜单中,找到oracle-> ...
- 有关map中使用iterate迭代器遍历的不保序问题和list remove(object)的细节问题
今天在做项目的过程中发现了如下两个问题: 一 使用map的iterator迭代器对map进行遍历得到的结果是不保序的,也就是每次输出结果都是不一样的.针对这个问题,看以下iterator迭代器的源码. ...