# 官方文档
https://www.workerman.net/doc/gateway-worker/business-worker.html
# BusinessWorker类的使用
BusinessWorker类其实也是基于基础的Worker开发的。BusinessWorker是运行业务逻辑的进程,BusinessWorker收到Gateway转发来的事件及请求时会默认调用Events.php中的onConnect onMessage onClose方法处理事件及数据,开发者正是通过实现这些回调控制业务及流程。
## BusinessWorker类可以定制的内容
## 1、name
和Worker一样,可以设置BusinessWorker进程的名称,方便status命令中查看统计
## 2、count
和Worker一样,可以设置BusinessWorker进程的数量,以便充分利用多cpu资源
## 3、registerAddress,
注册服务地址,只写格式类似于 '127.0.0.1:1236'
## 4、onWorkerStart
和Worker一样,可以设置BusinessWorker启动后的回调函数,一般在这个回调里面初始化一些全局数据
## 5、onWorkerStop
和Worker一样,可以设置BusinessWorker关闭的回调函数,一般在这个回调里面做数据清理或者保存数据工作
## 6、eventHandler
设置使用哪个类来处理业务,默认值是`Events`,即默认使用Events.php中的Events类来处理业务。业务类至少要实现onMessage静态方法,onConnect和onClose静态方法可以不用实现。
~~~
<?php
require_once 'vendor/autoload.php';
use Workerman\Worker;
use GatewayWorker\BusinessWorker;
$business = new BusinessWorker();
$business->name='business';
$business->count=2;
$business->registerAddress='127.0.0.1:6666';
//$business->eventHandler='Events';
$business->onWorkerStart=function (){
echo 'business start'."\n";
};
$business->onWorkerStop=function (){
echo 'business stop'."\n";
};
Worker::runAll();
~~~
- WebSocket协议
- 构造函数(6种协议)
- count(进程设置)
- name(链接名称)
- $daemonize(守护进程设置)
- logFile(日志路径)
- stdoutFile(守护进程记录文件)
- connections(获取链接数组的)
- worker的回调属性
- worker类的方法
- Connection类的方法
- getRemotePort获取端口方法
- getRemoteIp获取IP地址
- close 安全关闭连接
- 定时器
- Channel分布式通信组件
- 心跳检测程序
- liunx优化配置
- thinkphp5.1使用worerman
- thinkphp5.1中用Channel实现广播通信
- thinkphp5.1中使用定时器
- thinkphp5.1使用TcpConnection类
- Gateway类使用
- BusinessWorker使用
- Register类的使用
- Events类使用(业务逻辑层)
- Lib\Gateway 接口(经常用)
- webman中间件stomp
- Gateway在thinkphp5.1里使用