zoukankan      html  css  js  c++  java
  • laravel配合swoole使用总结

    最近对接硬件做了两个项目,用到了swoole

    第一个是门禁系统,需要远程开门、离线报警、定时开门、离线刷卡等功能

    1.远程开门:

      目前用cli创建个临时客户端连接服务端发送命令,服务端处理完成后客户端根据返回状态判断是否开启成功

    2.离线报警

      客户端断网后并不会服务端的closed()并不能检测到,所以用了swoole自带的心跳检测工具,在出发后会添加报警

    3.定时开门

      用swoole_timer_tick轮询,有要开门的请求再通过远程开门的原理开门。

    4.离线刷卡

      卡号写入门禁

    另一个是小区门口的道闸,在近处门后不但记录进出照片还要显示屏上显示车牌号等信息。这个功能更简单,但是因为是定制原因,厂家好多功能没完善,只能自己想办法。

    比如没有为每个显示屏设置唯一序列号。另外是没有心跳。

    唯一序列号我用到的是显示屏设置的dns。因为服务端没用域名,所以dns也就没用了。

    这两个项目都没把心跳当做一般心跳处理(即监听是否持续在线,可以直接用swoole自带的心跳)。心跳中一般包含设备唯一序列号,在此项目中没有心跳但我又想获取唯一序列号,只能在显示屏与服务端建立连接时发送指令获取显示屏的dns,再把dns(唯一序列号)和通道保存到数据库中。这样我可以根据dns查找通道就可以指定显示屏发送内容了。

  • 相关阅读:
    工作中遇到的令人头疼的bug
    Cookie的简单用法
    C#之#if #endif的简单用法
    我们一起学习WCF 第十篇Wcf中实现事务
    一次性搞定Session
    设计模式-观察者模式
    类的扩展之 DataReader的扩展
    C#之Ref,Out以及TryParse()的用法
    C#之Lambda不得不说的用法
    C#之Action和Func的用法
  • 原文地址:https://www.cnblogs.com/kkform/p/9236321.html
Copyright © 2011-2022 走看看