#### 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采集进程服务