1 Star 1 Fork 0

陌路 / laravel-workerman

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.05 KB
一键复制 编辑 原始数据 按行查看 历史
陌路 提交于 2023-02-10 15:21 . 修改文档

Laravel Workerman

发布配置

php artisan vendor:publish --tag=workerman

开发

  1. 实现Myaccountl\LaravelWorkerman\Events\WorkermanEventInterface 接口按不同事件进行业务逻辑编写
  2. 者继承 Myaccountl\LaravelWorkerman\Events\EventsHandle 该类已经实现了WorkermanEventInterface 并实现了基础的用户绑定、广播分组加入和OnConnect连接事件,该事件传入$client_id可绑定Myaccountl\LaravelWorkerman\Events\WSConnectEvent实现自己的websocket连接事件业务,
  3. 重写该该类的OnMessage方法时须调用parent::OnMessage 否则用户绑定和广播分组加入将不可用

使用

  1. Windows

    php artisan workerman --s=register // 启动注册中心
    php artisan workerman --s=gateway // 启动网关
    php artisan workerman --s=worker // 启动业务处理

  2. Linux

    php artisan workerman <action> {--d} {--s=*} // 操作wokerman启动 停止 重启 查看状态等

    参数说明:
    • action:
      • start -- 启动
      • stop -- 停止
      • restart -- 重启
      • status -- 查看状态
    • --d: 后台启动
    • --s: 要启动的服务 默认:all 启动register gateway worker 所有服务
      • 参数值为:all register gateway worker 中的一个
      • 示例:php artisan workerman start --s=gateway --s=worker

使用示例

一、客户端发送

// 加入分组
{"type": "join", "group": "broadcast:user:channel"}
// 心跳 每30秒发送一次
{"type": "ping"}
// 绑定用户 uid为用户加密ID
{"type": "bind", "uid": "YWRleUhWK25PVTQ9"}

二、服务端发送消息到客户端

use GatewayWorker\Lib\Gateway;

Gateway::sendToUid(7, json_encode(['type' => 'test', 'message' => 'user_send 测试消息!'], JSON_UNESCAPED_UNICODE))

Gateway::sendToGroup('broadcast:user:channel', json_encode(['type' => 'test', 'message' => 'group 测试消息!'], JSON_UNESCAPED_UNICODE))
PHP
1
https://gitee.com/myaccountl/laravel-workerman.git
git@gitee.com:myaccountl/laravel-workerman.git
myaccountl
laravel-workerman
laravel-workerman
master

搜索帮助