workerman的重发机制怎么弄呀?求助呀 大佬们

问题描述

大家用过workerman的重发机制吗?就是workerman下发的命令客户端没有收到 客户端也不知道自己收没收到 不能指望客户端 客户端的心跳是在的 那workerman的服务端 如何自己判断一下自己没有收到想要的消息 需要重发一下 例如 我发的命令是01 我知道客户端会返回01 ,如果onmessage 里面没有01 那我就重发 我重发的命令写 onconnecttion里面了

为此你搜索到了哪些方案及不适用的原因

客户端不会给我响应 只能服务端来判断

359 2 0
2个回答

我来回答吧
用定时器实现重发机制
在onconnection中如何获取到onmessage中的值,我们需要定义一个全局变量,在onConnect中引用全局变量,如下所示
global $global_message
$worker->onConnect = function($connection) use (&$global_message)
在onMessage中也是如此
$worker->onMessage = function($connection, $data) use (&$global_message) {}

  • 暂无评论
不败少龙

跟用户一一绑定不就好了 或者在消息内用类型去区分一下,解决的办法还是很多的

×
🔝