# 官方文檔
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里使用