承接 ledc/gateway-worker 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ledc/gateway-worker

最新稳定版本:v8.3.3

Composer 安装命令:

composer require ledc/gateway-worker

包简介

Webman plugin ledc/gateway-worker

README 文档

README

简介

基于GatewayWorker的webman基础插件,通过命令行单独启动,重启 webman 时,不影响 GatewayWorker ,从而与业务解耦。

特性

  • 命令行单独启动
  • 可单独配置 RegisterGatewayBusinessWorker 各进程是否启动
  • 内置通用的 BusinessWorker 事件处理类 \Ledc\GatewayWorker\EventHandler
  • 内置事件枚举 \Ledc\GatewayWorker\EventEnums

安装

PHP版本:>=8.3

composer require ledc/gateway-worker

忽略扩展安装

composer require ledc/gateway-worker --ignore-platform-req=ext-posix -W

启动

php webman gateway:worker start

停止

php webman gateway:worker stop

nginx配置

location /websocket
{
  proxy_pass http://127.0.0.1:这里是Gateway端口;
  proxy_read_timeout 3600;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "Upgrade";
  proxy_set_header X-Real-IP $remote_addr;
}

唯一配置文件

/config/gateway_worker.php

配置文件内,有详细的注释,可以帮助您理解各种使用场景下的配置。

最佳实践

通过 .env 设置环境变量,以供 /config/gateway_worker.php 使用,配置项见下述。

Env环境变量

GATEWAY_SECRET_KEY = 
GATEWAY_REGISTER_LISTEN_ADDRESS = 127.0.0.1
GATEWAY_REGISTER_ADDRESS = 127.0.0.1
GATEWAY_REGISTER_PORT = 1236
GATEWAY_LOCAL_IP = 127.0.0.1
GATEWAY_START_PORT = 4000

应用场景举例

与ThinkPHP等框架结合

与webman结合

以提供websocket服务为例:

1. 进程启动,返回连接参数

进程启动后 \Ledc\GatewayWorker\EventHandler::onConnect,服务会返回 {"event":"init","client_id":"7f0000010fa0000000a2","timestamp":1757583080,"auth":"21826584bdaf086f7e9910baac281eef"}

2. 前端页面转发 上述参数到后端webman接口

3. webman控制器接收到参数,验证用户登陆状态

验证通过后,调用 \Ledc\GatewayWorker\EventHandler::bindUid 绑定用户。

或者,调用 \Ledc\GatewayWorker\EventHandler::joinGroup 把客户端加入群组。

上述,也可同时操作(看业务需要)。

4. webman后端注册事件监听

配置文件监听

编辑 /config/event.php,根据需要监听 \Ledc\GatewayWorker\EventEnums 内列举的枚举事件

或者在Bootstrap监听

参考 业务初始化

比如你监听 前端 websocket连接的 ping 事件

只需要在 Bootstrap 内添加:

// 监听ping事件
\Ledc\GatewayWorker\EventEnums::onPing->on(function (string $client_id) {
    // 你的业务代码
});

也可以继续注册其他事件的监听,事件调用时机或参数,请参考 \Ledc\GatewayWorker\EventHandler

统计信息

  • 总下载量: 7
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-08-31