首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
SwooleWorker介绍
SwooleWorker安装
SwooleWorker接口列表
Register详解
Gateway详解
Worker详解
安全重启
分布式布署
session处理
自定义命令
数据库
Redis数据库
HttpApi接口
开启SSL
与workerman对比
当前位置:
首页>>
技术小册>>
Swoole高性能框架-SwooleWorker
小册名称:Swoole高性能框架-SwooleWorker
**基础接口** | 接口 | 参数 | 返回值 | |--------------------------|-----------------------------------------------------------------|----------| | sendToClient | string $client, string $message || | sendToUid | string $uid, string $message, array $without_client_list = [] || | sendToGroup | string $group, string $message, array $without_client_list = [] || | sendToAll | string $message, array $without_client_list = [] || | isOnline | string $client || | isUidOnline | string $uid | bool | | getClientListByGroup | string $group, string $prev_client = null | iterable | | getClientCount | int | | | getClientCountByGroup | string $group | int | | getClientList | string $prev_client = null | iterable | | getClientListByUid | string $uid, string $prev_client = null | iterable | | getClientInfo | string $client, int $type = 255 | array | | getUidListByGroup | string $group, bool $unique = true | iterable | | getUidList | bool $unique = true | iterable | | getUidCount | float $unique_percent = null | int | | getGroupList | bool $unique = true | iterable | | getUidCountByGroup | string $group | int | | closeClient | string $client, bool $force = false | | | bindUid | string $client, string $uid | | | unBindUid | string $client | | | joinGroup | string $client, string $group | | | leaveGroup | string $client, string $group | | | unGroup | string $group | | | setSession | string $client, array $session | | | updateSession | string $client, array $session | | | deleteSession | string $client | | | getSession | string $client | ?array | | sendToAddressListAndRecv | array $items, float $timeout = 1 | array | | sendToAddressAndRecv | array $address, string $buffer, float $timeout = 1 | string | | sendToAddress | array $address, string $buffer, $timeout = 1 | || **发送消息** 参数$without_client_list指的是要排除的客户端列表 **获取客户端信息** 通过getClientInfo接口获取,第二个参数$type的值可以为: - Protocol::CLIENT_INFO_REMOTE_IP 获取客户端ip - Protocol::CLIENT_INFO_REMOTE_PORT 客户端端口 - Protocol::CLIENT_INFO_UID 绑定的uid - Protocol::CLIENT_INFO_SESSION session信息 - Protocol::CLIENT_INFO_GROUP_LIST 加入的group列表 - Protocol::CLIENT_INFO_SYSTEM 更多的系统信息 可以通过|连接同时获取多个信息 **UID相关** 一个client只能绑定一个uid,一个uid可以被多个client绑定,常见场景比如qq微信的多端登录 多次绑定以最后一次操作为准 isUidOnline指的是有任何一个绑定了指定uid的客户端在线就返回true client断开会自动解绑uid,无需手动解绑 **Group相关** 一个客户端可以加入多个group,一个group可以被多个client加入,为多对多关系 client断开会自动退出已经加入的group group无人的时候会自动删除group getUidCountByGroup并不是一个精确数字 **Session相关** 每次消息事件都会得到客户端的session,无需通过getSession获取当前客户端的session,getSession通常是获取的其他客户端的session或者较长时间后session有变化重新获取。 修改session只能通过接口setSession、updateSession、deleteSession等修改。 setSession是直接赋值,updateSession是合并,内部是merge逻辑
上一篇:
SwooleWorker安装
下一篇:
Register详解
该分类下的相关小册推荐:
PHP合辑4-字符串函数
PHP8入门与项目实战(3)
PHP8入门与项目实战(7)
PHP底层原理及源码分析
ThinkPHP项目开发实战
Laravel(10.x)从入门到精通(九)
Yii2框架从入门到精通(中)
Laravel(10.x)从入门到精通(六)
Laravel(10.x)从入门到精通(十四)
剑指PHP(从入门到进阶)
Laravel(10.x)从入门到精通(七)
Laravel(10.x)从入门到精通(一)