Swoole方法之start

启动服务器,监听所有TCP/UDP端口

提示

启动成功后会创建worer_num + 2 个进程 . Master进程+Manager进程 + server->worker_numWorker进程.

启动失败后会立即返回false.

启动成功后将进入事件循环,等待客户端连接请求.start方法之后的代码不会执行.

服务器关闭后,start函数返回true,并继续向下执行.

设置了task_worker_num会增加响应数量的Task进程.

方法列表中start之前的方法(set,on,addListener,listen,addProcess)仅可在start调用前使用.在start之后的方法仅可在onWorkerStart.onReceive等事件回调函数中使用.

扩展

Master主进程

主进程内有多个Reactor线程,基于epoll/kqueue/select进行网络事件轮训.收到数据后转发到Worker进程去处理.

Manager进程

对所有Worker进程进行管理,Worker进程生命周期结束或发生异常自动回收,并创建新的Worker进程.

Worker进程

对收到的数据进行处理,包括协议解析和响应请求.未设置worker_num,底层会启动与CPU数量一致的Worker进程.

启动失败扩展内会抛出致命错误,请检查php error_log的相关信息.errno={number}是标准的Linux Errno

如果开启了log_file设置,信息会打印到指定的Log文件中.

 

posted @ 2025-04-15 15:58  X__cicada  阅读(15)  评论(0)    收藏  举报