本文根底环境:
swoftcli --version

http-server目录:
/vendor/http-server/src

server创立及start入口:
/vendor/http-server/src/HttpServer.php

server创立代码:
$this->swooleServer = new SwooleHttpServer($this->host, $this->port, $this->mode, $this->type);

先看swoft官网定义:

问题来了:

既然swoft是协程框架,为何server是new的`\Swoole\Http\Server`而不是swoole官网demo中的`Swoole\Coroutine\Http\Server`?

要想解释这个问题,咱们且先看接下来的代码$this->startSwoole():

此办法在父类`\Swoft\Server\Server`(`/vendor/server/src/Server.php`)中的定义如下:


这里能够看出 swoft通过在server->start()前开启协程来实现协程服务器.