报错:Call to undefined method GatewayClient\Gateway::closeCurrentClient()
发现closeClient下面有调用closeCurrentClient方法,但该方法确实没有找到
public static function closeClient($client_id, $message = null)
{
if ($client_id === Context::$client_id) {
return static::closeCurrentClient($message);//NOT FOUND
} // 不是发给当前用户则使用存储中的地址
else {
$address_data = Context::clientIdToAddress($client_id);
if (!$address_data) {
return false;
}
$address = long2ip($address_data['local_ip']) . ":{$address_data['local_port']}";
return static::kickAddress($address, $address_data['connection_id'], $message);
}
}
不知道怎么看版本
你调用错类了,调用 GatewayClient 上去了,按照文档应该是 use \GatewayWorker\Lib\Gateway;
我标题写错了,是GatewayClient
正常来讲,你用
Gateway::closeClient($clientId)
是走不到这个static::closeCurrentClient($message)
逻辑的,当然也不会有报错。所以很好奇你到底在调用之前干嘛了,该不会是先调用了Context::$client_id = $clientId
了吧?$clinentId传进去的是null
呃,你传个 null 进去干嘛?null == null 可不就出事了?调用之前做校验