说明: void Gateway::setSession(string $client_id, array $session); (要求Gateway版本>=2.0.5) 设置某个client_id对应的session。如果对应client_id已经下线或者不存在,则会被忽略。 注意: 不要$_SESSION赋值与Gateway::setSession同时操作同一个$client_id,可能会造成
说明: array Gateway::getAllClientSessions(void); 获取当前所有在线client_id信息。 返回值 返回值为client_id为key,client_id对应的$_SESSION为值的数组。 类似下面的格式 array( '7f00000108fc00000008' => array(...), '7f00000108fc00000009
说明: int Gateway::getAllClientCount(void); (要求Gateway版本>=2.0.4) 获取当前在线连接总数(多少client_id在线)。 参数 无参数 返回值 返回一个数字 范例 use GatewayWorkerLibGateway; class Events { ... public onConnect($client_id)
说明: array Gateway::getClientSessionsByGroup(mixed $group); 获取某个分组所有在线client_id信息。 返回值 返回值为client_id为key,client_id对应的$_SESSION为值的数组。 类似下面的格式 array( '7f00000108fc00000008' => array(...), '7f0000
说明: int Gateway::getClientCountByGroup(mixed $group); 获取某分组当前在线成员数(多少client_id在线)。 参数 $group 分组名字 返回值 返回一个数字 范例 use GatewayWorkerLibGateway; class Events { ... public onConnect($client_id)
说明: void Gateway::sendToGroup(mixed $group, string $message [, array $exclude_client_id = null [, bool $raw = false]]); 向某个分组的所有在线client_id发送数据。 参数 $group group可以是字符串、数字、或者数组。如果为数组,则是给数组内所有group发送数据 $
说明: void Gateway::leaveGroup(string $client_id, mixed $group); 将client_id从某个组中删除,不再接收该分组广播(Gateway::sendToGroup)发送的数据。 注意:当client_id下线(连接断开)时,client_id会自动从它所属的各个分组中删除,也就是说无需在onClose回调中调用Gateway::leave
说明: void Gateway::joinGroup(string $client_id, mixed $group); 将client_id加入某个组,以便通过Gateway::sendToGroup发送数据。 可以通过Gateway::getClientSessionsByGroup($group)获得该组所有在线成员数据。 可以通过Gateway::getClientCountByGrou
说明: void Gateway::sendToUid(mixed $uid, string $message); 向uid绑定的所有在线client_id发送数据。 注意:默认uid与client_id是一对多的关系,如果当前uid下绑定了多个client_id,则多个client_id对应的客户端都会收到消息,这类似于PC QQ和手机QQ同时在线接收消息。 参数 $uid uid可以是字符串、
说明: void Gateway::unbindUid(string $client_id, mixed $uid); 将client_id与uid解绑。 注意:当client_id下线(连接断开)时会自动与uid解绑,开发者无需在onClose事件调用Gateway::unbindUid。 参数 $client_id 客户端的client_id $uid 数字或者字符串。 范例 use Gate
目前并没有这个接口,开发者可以将uid存储到session中,获取的时候从session获取即可。 如果是获取当前请求所属client_id的session,直接使用$_SESSION变量即可。 如果想获取任意client_id的session,可以通过Gateway::getSession($client_id)获取。 class Events { public static funct
说明: array Gateway::getClientIdByUid(mixed $uid); 返回一个数组,数组元素为与uid绑定的所有在线的client_id。如果没有在线的client_id则返回一个空数组。 此方法可以判断一个uid是否在线。 注意:返回值为与uid绑定的所有在线的client_id数组。因为已经下线的client_id会自动与uid解绑,所以已经下线的client_id
说明: int Gateway::isUidOnline(mixed $uid); (需要Gateway版本>=2.0.4) 判断$uid是否在线,此方法需要配合Gateway::bindUid($client_uid, $uid)使用。 如果某uid没有通过Gateway::bindUid($client_uid, $uid)进行任何绑定,那么对该uid调用Gateway::isUidOnlin
说明: void Gateway::bindUid(string $client_id, mixed $uid); 将client_id与uid绑定,以便通过Gateway::sendToUid($uid)发送数据,通过Gateway::isUidOnline($uid)用户是否在线。 uid解释:这里uid泛指用户id或者设备id,用来唯一确定一个客户端用户或者设备。 注意: 1、uid与cli
说明: int Gateway::isOnline(string $client_id); 判断$client_id是否还在线 参数 $client_id 客户端的client_id 返回值 在线返回1,不在线返回0 范例 use GatewayWorkerLibGateway; class Events { ... public static function onMessage