# 協程風格服務 Hyperf 預設使用的是 [Swoole 非同步風格](https://wiki.swoole.com/#/server/init),此型別為多程序模型,自定義程序為單獨程序執行。 > 此型別在使用 SWOOLE_BASE 且不使用自定義程序時,會以單程序模型來跑,具體可檢視 Swoole 官方文件。 Hyperf 還提供了協程風格服務,此型別為單程序模型,所有的自定義程序會全部以協程模式來跑,不會建立單獨的程序。 此兩種風格,可以按需選擇,**但不推薦將已經在正常使用的服務,進行無腦切換**。 ## 配置 修改 `autoload/server.php` 配置檔案,設定 `type` 為 `Hyperf\Server\CoroutineServer::class` 即可啟動協程風格。 ```php Hyperf\Server\CoroutineServer::class, 'servers' => [ [ 'name' => 'http', 'type' => Server::SERVER_HTTP, 'host' => '0.0.0.0', 'port' => 9501, 'sock_type' => SWOOLE_SOCK_TCP, 'callbacks' => [ Event::ON_REQUEST => [Hyperf\HttpServer\Server::class, 'onRequest'], ], ], ], ]; ``` ## WebSocket 1. 因為協程風格和非同步風格,在對應的回撥上存在差異,所以需要按需使用 例如 `onReceive` 回撥,非同步風格是 `Swoole\Server`,協程風格是 `Swoole\Coroutine\Server\Connection`。 ```php