workerman如何保存一个连接用来下次主动发送消息给客户端?

qq_28348557 2018-05-08 09:23:58
就是一个workerman与硬件的通讯,我应该怎么做才能主动发送消息给硬件终端,本来我的想法是在硬件连接上来的时候把连接保存下来,但是发现不知道怎么保存?有什么好的解决方案吗?
...全文
1418 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdsn_so_l 2019-06-28
  • 打赏
  • 举报
回复
不安就直接用gatewayworker,基于workerman的,就不需要考虑这么多了,connect的时候就分配一个id,存储起来就好了。发送的时候是发送到这个id的客户端上
qq_28348557 2019-02-26
  • 打赏
  • 举报
回复
你看一下connection是否为空,connection应该是一个对象来的
qq_41921588 2019-01-04
  • 打赏
  • 举报
回复
楼主是怎样进行存储的? 我想把connection存下来,首先把$connection放在数组中,然后把数组放在redis中,但我在第一步的时候,也就是数组打印出来是空的 $info = [ 'id'=>1, 'connection'=$connection ] 这该怎么解决呢,楼主是否能加个qq指导下,我的qq:529016850
qq_28348557 2018-05-09
  • 打赏
  • 举报
回复
已解决,原来workerman里面自带有全局变量,使用后发现,全局变量的值有时候是空,认真研究之后发现。。。是我开了4个进程,于是设置为一个,不会再出现这种情况。于是想着怎么解决进程间的数据共享问题,百度了一下,决定使用redis扩展,具体安装过程如下:http://www.jb51.net/article/101207.htm。。。。。。。。。。。。。。。。。 安装之后需要注意的是,我已经在www/wdlinux/etc/php,ini添加extension=redis.so了,结果还是显示 Redis not found,最后发现还要在/etc/php,ini那里添加extension=redis.so,最后成功,测试代码:$redis = new \Redis(); //连接 $redis->connect('127.0.0.1', 6379); //检测是否连接成功 echo "Server is running: " . $redis->ping(); // 设置一个字符串的值 $redis->set('cat', 111);

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧