protected function bind()
{
self::$server->on('ManagerStart', [$this, 'onManagerStart']);
self::$server->on('WorkerStart', [$this, 'onWorkerStart']);
self::$server->on('WorkerStop', [$this, 'onWorkerStop']);
self::$server->on('PipeMessage', [$this, 'onPipeMessage']);
self::$server->on('Start', [$this, 'onStart']);
self::$server->on('Finish', [$this, 'onFinish']);
self::$server->on('Task', [$this, 'onTask']);
self::$server->on('Packet', [$this, 'onPacket']);
self::$server->on('Close', [$this, 'onClose']);
self::$server->on('Connect', [$this, 'onConnect']);
# 其它自定义回调函数
foreach (['Shutdown', 'Timer', 'ManagerStop'] as $type) {
$fun = "on{$type}";
if (method_exists($this, $fun)) {
self::$server->on($type, [$this, $fun]);
}
}
# 自定义协议
if (self::$serverType === 0) {
self::$server->on('Receive', [$this, 'onReceive']);
}
# HTTP
if (self::$serverType === 1 || self::$serverType === 3) {
self::$server->on('Request', [$this, 'onRequest']);
}
# WebSocket
if (self::$serverType === 2 || self::$serverType === 3) {
self::$server->on('Message', [$this, 'onMessage']);
if (method_exists($this, 'onHandShake')) {
self::$server->on('HandShake', [$this, 'onHandShake']);
} else {
self::$server->on('Open', [$this, 'onOpen']);
}
}
}