五月天激情丁香,国产精品2019,国产成人精品亚洲2020,国产精品免费视频一区二区三区,开心久久婷婷综合中文字幕,天堂视频在线观看免费完整版

mainServerCreate 事件(即主服務(wù)創(chuàng)建事件)

函數(shù)原型

/**
 * @param \EasySwoole\EasySwoole\Swoole\EventRegister $register
 */
public static function mainServerCreate(EventRegister $register)
{

}

已完成工作

在執(zhí)行主服務(wù)創(chuàng)建事件時,框架此時已經(jīng)完成的工作有:

  • bootstrap/initialize 事件加載完成
  • SwooleServer 創(chuàng)建成功
  • SwooleServer 注冊了默認(rèn)的 onRequest/onWorkerStart/onWorkerStop/onWorkerExit 事件。

開發(fā)者可進(jìn)行的操作有:

  • 注冊主服務(wù)回調(diào)事件
  • 添加子服務(wù)監(jiān)聽
  • SwooleTable/Atomic
  • 創(chuàng)建自定義進(jìn)程
  • 啟用前(在 mainServerCreate 事件中)調(diào)用協(xié)程 API

注冊主服務(wù)回調(diào)事件

例如:為主服務(wù)注冊 onWorkerStart 回調(diào)事件:

/** @var \EasySwoole\EasySwoole\Swoole\EventRegister $register **/
$register->add($register::onWorkerStart, function (\Swoole\Server $server,int $workerId){
     var_dump($workerId . 'start');
});

例如:為主服務(wù)增加 onMessage 回調(diào)事件(前提是主服務(wù)類型為 WebSocket 服務(wù)):

// 給 server 注冊相關(guān)事件,在 WebSocket 服務(wù)模式下 message 事件必須注冊 
/** @var \EasySwoole\EasySwoole\Swoole\EventRegister $register **/
$register->set($register::onMessage,function (\Swoole\WebSocket\Server $server, \Swoole\WebSocket\Frame $frame){

});

set 方法和 add 方法是不同的, set 將會覆蓋之前配置的事件回調(diào), 而 add 是增加一個新的回調(diào)。

添加子服務(wù)監(jiān)聽

例如:添加一個 tcp 子服務(wù)監(jiān)聽

/** @var \Swoole\Server\Port $subPort **/
$subPort = \EasySwoole\EasySwoole\ServerManager::getInstance()->getSwooleServer()->addListener('0.0.0.0', 9503, SWOOLE_TCP);
$subPort->on('receive', function (\Swoole\Server $server, int $fd, int $reactor_id, string $data){
    var_dump($data);
});
// 配置 具體查看 Swoole 文檔
$subPort->set([

]);

具體可參考 TCP

Table && Atomic

具體調(diào)用方式請看具體章節(jié):

Table

Atomic

創(chuàng)建自定義進(jìn)程

具體詳細(xì)操作可到 基礎(chǔ)使用 -> 自定義進(jìn)程中查看

\EasySwoole\Component\Process\Manager::getInstance()->addProcess(new Test('test_process'));

TestEasySwoole\Component\Process\AbstractProcess 抽象類的子類

啟用前(在 mainServerCreate 事件中)調(diào)用協(xié)程 API

開發(fā)者在 EasySwoole 主服務(wù)啟動前調(diào)用協(xié)程 api,必須使用如下操作:

$scheduler = new \Swoole\Coroutine\Scheduler();
$scheduler->add(function() {
    /* 調(diào)用協(xié)程API */
});
$scheduler->start();
// 清除全部定時器
\Swoole\Timer::clearAll();
主站蜘蛛池模板: 精品视频久久 | 国产中文字幕久久 | 丁香婷婷开心激情深爱五月 | 狠狠干欧美| 福利入口在线观看 | 男人天堂v | 国产精品视频免费视频 | 久久天天躁狠狠躁夜夜爽蜜月 | 黄污视频免费观看 | 欧美黄色性生活 | 欧美偷拍小视频 | 欧美一区二区高清 | 免费视频一区二区 | 精品久久久久中文字幕app | 国产日韩欧美视频在线 | 国内精品久久久久影院中国 | 国产亚洲美女精品久久久久狼 | 精品中文字幕在线 | 国内精品免费一区二区三区 | 久久青草国产免费观看 | 激情网址在线观看 | 试看120秒非会员体险区一二 | 欧美午夜精品一区二区三区 | 深爱激情五月网 | 国产日韩不卡免费精品视频 | 99re国产精品| 久草视频精品 | 国产免费播放一区二区三区 | 欧美一区2区 | 国产欧美一区二区成人影院 | 婷婷精品在线 | 欧美特欧美特级一片 | 91精品国产91久久久久 | 99久久99这里只有免费费精品 | 全网免费在线播放视频入口 | 国产亚洲高清不卡在线观看 | 激情综合色五月丁香六月亚洲 | 999久久精品国产 | a一级一色一情 | 国产成人精品日本亚洲语音2 | 毛片一级免费 |