多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Gateway::isOnline ## 说明: ~~~ int Gateway::isOnline(string $client_id); ~~~ 判断$client_id是否还在线 ## 参数 * $client_id 客户端的client_id ## 返回值 在线返回1,不在线返回0 ## 范例 ~~~ use \GatewayWorker\Lib\Gateway; class Events { ... public static function onMessage($client_id, $message) { // $message = '{"type":"say_to_one","to_client_id":100,"content":"hello"}' $req_data = json_decode($message, true); // 如果是向某个客户端发送消息 if($req_data['type'] == 'say_to_one')) { // 如果不在线就先存起来 if(!Gateway::isOnline($req_data['to_client_id'])) { // 假设your_store_fun是用来保存未读消息的函数(这个函数不存在,需要自己实现) your_store_fun($message); } else { // 在线就转发消息给对应的客户端 Gateway::sendToClient($req_data['to_client_id'], $req_data['content']); } } } ... } ~~~