事件回调函数

Swoole\Server是事件驱动模式,所有的业务逻辑代码必须写在事件回调函数中。当特定的网络事件发生后,底层会主动回调指定的PHP函数。

事件执行顺序

onStart/onManagerStart/onWorkerStart 3个事件的执行顺序是不确定的

异常捕获

$serv->on('Receive', function() {
    try
    {
        //some code
    }
    catch(Exception $e)
    {
        //exception code
    }
}

协程模式

Swoole2/4版本支持了协程,使用协程后事件回调函数将会并发地执行。协程是一种用户态线程实现,没有额外的调度消耗,仅占用内存。使用协程模式,可以理解为“每次事件回调函数都会创建一个新的线程去执行,事件回调函数执行完成后,线程退出”。

如果希望关闭协程,可设置:

$server->set(["enable_coroutine" => false, ]);