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 ...
随机推荐
- Safair 浏览器cllick事件不生效或者需要双击才生效
针对Safair 浏览器cllick事件不生效或者需要双击才生效的解决方案. 方法一:给元素加上cursor: pointer样式.(不生效) 方法二:ios事件机制不一样,将click事件改为mou ...
- Alsa中PCM参数设置⭐⭐
1) PCM设备的句柄.2) 指定同时可供回放或截获的PCM流的方向3) 提供一些关于我们想要使用的设置选项的信息,比如缓冲区大小,采样率,PCM数据格式等4) 检查硬件是否支持设置选项. 4.1 ...
- windows server 2008 + IIS 7.5实现多用户FTP(多账号对应不同目录
在windows server 2003 + IIS 6 的时候,就已经能实现多用户FTP的功能,不过设置有写繁琐,如果站点多的话,设置账号.权限这些东西都要搞很久.Windows server 20 ...
- MVC vs MVP vs MVVM
一.MVC MVC模式的意思是,软件可以分成三个部分. 视图(View):用户界面. 控制器(Controller):业务逻辑 模型(Model):数据保存 各部分之间的通信方式如下. View 传送 ...
- Codeforces Round #222 (Div. 1) Maze —— dfs(连通块)
题目链接:http://codeforces.com/problemset/problem/377/A 题解: 有tot个空格(输入时统计),把其中k个空格变为wall,问怎么变才能使得剩下的空格依然 ...
- finalize方法
什么是垃圾回收机制 不定时去堆内存中清理不可达对象.不可达的对象并不会马上就会直接回收, 垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应 ...
- android中获取包名,类名
LogUtil.i("getPackageName()=" + getPackageName()); //Context类 LogUtil.i("getClass().g ...
- Logcat不显示Application的解决办法
Window - show view - devices - debug ----2014.12.1------ 只有在DDMS的device中显示进程名,logcat中的Application标签才 ...
- Java标准输入
Java: import java.util.*; public class Main{ public static void main(String args[]){ Scanner cin = n ...
- hadoop2.X集群安装与应用
可参考此文档:hadoop(2.x)以hadoop2.2为例完全分布式最新高可靠安装文档(非常详细)http://www.aboutyun.com/thread-7684-1-1.html 步骤一:下 ...