#### 1、Event請求處理類
不同協議的服務,有著不同的server的Event處理類,這是與底層服務解耦出來,同時也是作為系統服務的開放系統部分,沒有過度的封裝,因為swoole擴展實現的服務,無非就是事件回調的處理。將Event抽象出來,這樣使用者就有更大的權限,根據自己的業務做一些邏輯處理,一方面與swoolefy的框架也解耦分離開,不會影響swoolefy,但在這個Event類中實現很多的功能需要依賴swoolefy,特別是超全局|上下文定義的一些函數與屬性。
* http服務(App/http)
**HttpServer.php**
這個文件抽象Event的回調處理類,與底層服務解耦,在實際業務中,我們可能需要在回調函數中做一些處理,默認不做處理也即可使用,代碼:
~~~
<?php
namespace protocol\http;
use Swoolefy\Core\Swfy;
class HttpServer extends \Swoolefy\Http\HttpAppServer {
/**
* __construct 初始化
* @param array $config
*/
public function __construct(array $config=[]) {
parent::__construct($config);
}
/**
* onPipeMessage
* @param object $server
* @param int $src_worker_id
* @param mixed $message
* @return void
*/
public function onPipeMessage($server, $src_worker_id, $message) {}
}
~~~
* websocket服務
**WebsocketEventServer.php**
這個文件是抽象Event的回調處理類,與底層的服務解耦,在實際業務中,我們可能需要在回調函數中做一些處理,默認不做處理也即可使用,代碼:
~~~
<?php
namespace protocol\websocket;
use Swoolefy\Core\Swfy;
class WebsocketEventServer extends \Swoolefy\Websocket\WebsocketEventServer {
/**
* __construct 初始化
* @param array $config
*/
public function __construct(array $config = []) {
parent::__construct($config);
}
/**
* onWorkerStart worker啟動函數處理
* @param object $server
* @param int $worker_id
* @return void
*/
public function onWorkerStart($server, $worker_id) {}
/**
* onOpen
* @param object $server
* @param object $request
* @return void
*/
public function onOpen($server, $request) {}
/**
* onFinish 任務完成
* @param object $server
* @param int $task_id
* @param mixed $data
* @return void
*/
public function onFinish($server, $task_id, $data) {}
/**
* onClose 連接斷開處理
* @param object $server
* @param int $fd
* @return void
*/
public function onClose($server, $fd) {}
}
~~~
* rpc服務
**RpcServer.php**
這個文件是抽象Event的回調處理類,與底層的服務解耦,在實際業務中,我們可能需要在回調函數中做一些處理,默認不做處理也即可使用
~~~
<?php
namespace protocol\rpc;
use Swoolefy\Core\Swfy;
class RpcServer extends \Swoolefy\Rpc\RpcServer {
/**
* __construct 初始化
* @param array $config
*/
public function __construct(array $config=[]) {
parent::__construct($config);
}
/**
* onWorkerStart worker進程啟動時回調處理
* @param object $server
* @param int $worker_id
* @return void
*/
public function onWorkerStart($server, $worker_id) {}
/**
* onConnet socket連接上時回調函數
* @param object $server
* @param int $fd
* @return void
*/
public function onConnet($server, $fd) {}
/**
* onFinish 異步任務完成后調用
* @param int $task_id
* @param mixed $data
* @return void
*/
public function onFinish($server, $task_id, $data) {}
/**
* onClose tcp連接關閉時回調函數
* @param object $server
* @param int $fd
* @return void
*/
public function onClose($server, $fd) {}
}
~~~
* Udp服務
**UdpEventServer.php**
這個文件是抽象Event的回調處理類,與底層的服務解耦,在實際業務中,我們可能需要在回調函數中做一些處理,默認不做處理也即可使用
~~~
<?php
namespace protocol\udp;
use Swoolefy\Core\Swfy;
class UdpEventServer extends \Swoolefy\Udp\UdpEventServer {
/**
* __construct 初始化
* @param array $config
*/
public function __construct(array $config=[]) {
parent::__construct($config);
}
public function onWorkerStart($server, $worker_id) {}
public function onFinish($server, $task_id, $data) {}
}
~~~
不同的服務,使用者可以根據實際的業務邏輯處理事件回調
- 歡迎使用swoolefy
- 環境說明
- 開發部署
- 安裝
- 創建應用
- 啟動|停止服務
- nginx代理
- 創建Controller
- 應用結構
- App應用對象
- Event請求處理
- 超全局管理
- 熱更新
- inotify實現worker進程熱重啟
- http服務
- 應用層配置
- 協議層配置
- 路由規則
- 控制器
- 數據模型
- websocket服務
- 應用層配置
- 協議層配置
- 數據封裝格式
- 控制器
- 數據模型
- 二進制數據處理
- rpc服務
- 應用層配置
- 協議程配置
- 數據包協議格式
- 服務控制器
- 服務數據模型
- udp服務
- 應用層配置
- 協議層配置
- 數據包封裝格式
- 控制器
- 存在問題
- 常用組件
- log
- view
- session
- cache(redis)
- db(mysql)
- mongodb
- 其他服務管理
- 自定義進程管理
- 異步任務管理
- 內存表管理
- 定時器管理
- 異常捕捉處理
- 進程池管理
- systerm采集進程服務