入门指引 Server Client Process AsyncIO Memory HttpServer WebSocket 高级 其他

发布于 2015-08-09 09:40:09 | 699 次阅读 | 评论: 0 | 来源: 网络整理

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

事件执行顺序

  • 所有事件回调均在$server->start后发生
  • 服务器关闭程序终止时最后一次事件是onShutdown
  • 服务器启动成功后,onStart/onManagerStart/onWorkerStart会在不同的进程内并发执行。
  • onReceive/onConnect/onClose/onTimer在worker进程(包括task进程)中各自触发
  • worker/task进程启动/结束时会分别调用onWorkerStart/onWorkerStop
  • onTask事件仅在task进程中发生
  • onFinish事件仅在worker进程中发生

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

异常捕获

  • swoole不支持 set_exception_handler函数
  • 如果你的PHP代码有抛出异常逻辑,必须在事件回调函数顶层进行try/catch来捕获异常
$serv->on('Timer', function() {
    try
    {
        //some code
    }
    catch(Exception $e)
    {
        //exception code
    }
}

子目录

onStart 
onShutdown 
onWorkerStart 
onWorkerStop 
onTimer 
onConnect 
onReceive 
onPacket 
onClose 
onTask 
onFinish 
onPipeMessage 
onWorkerError 
onManagerStart 
onManagerStop 
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务