workerman 怎么判断客户端连接了 比如 10秒内 没说话 然后发送信息给客户端 这样怎么实现呢

0

workerman 怎么判断客户端连接了 比如 10秒内 没说话 然后发送信息给客户端 这样怎么实现呢 我用timer 定时执行 怎么执行时候client_id 就为空 是不是不会记住当前执行client_id

已邀请:

blogdaren - 常年游走于 Linux、PHP、C、VIM 之间【http://www.phpcreeper.com】

赞同来自:

场景类似于"QQ的对方正在输入...", 原理大致如下:



  1. Timer定时器里的回调函数配合use关键字引入$client_id;

  2. 设立一个静态数组形如:self::$bucket[$client_id]['now_time'], 然后和当前时间比较,超时了就发送消息,否则一旦收到消息把当前最新时间更新过来;

  3. 注意完事后可能有必要销毁相关的定时器以及静态数组,防止潜在的内存泄漏隐患;

要回复问题请先登录注册