workerman结合thinkphp怎么定时发送数据?

workerman结合thinkphp怎么实时更新数据?
整合了下方法,只能当客户端连接时触发,有消息时触发,当用户断开连接时触发,那我想实时更新数据怎么办?就比我想定时向客户端发送信息或者说wokerman有没有主动触发发送数据到客户端的方法呢?

clipboard.png

使用了定时器

clipboard.png

但是这样写执行cli模式的时候就报错了

clipboard.png

这样写就不报错,但是echo在cli上了,我是想发送到客户端,该怎么实现呢?

阅读 3.9k
5 个回答

其实文档写的很清楚了,要想推送消息到客户端,你就必须获取到当前连接到服务器的客户端。也就是官方文档中的connections ,然后通过循环全部发送或者指定连id这样的方式来发送信息 ,一楼兄弟给的地址是对的。

thinkphp是基于http的,本身http自身是不提供客户端和服务器间连接持续更新机制的,而且服务器端本身是不会主动向客户端传递的,所有的访问只能是服务器端响应客户端的请求。
所以实质是客户端要主动持续的进行请求
workerman是PHP socket 服务框架,而socket是可以面向连接的
要结合,想必客户端要转换为应用socket连接,而不是http连接,此外thinkphp要专为socket。

计划任务啊!定时执行就好了

在客户端连接之后,每个客户端会有一个ID,可以根据ID主动推送数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题