
SwooleServer::stop() 메서드는 서버를 즉시 종료하는 것이 아니라, 서버를 종료할 수 있는 요청을 큐에 추가합니다. 이 요청은 스레드가 처리할 때까지 지연될 수 있습니다.
stop() 메서드를 호출한 후에 다시 start() 메서드를 호출하여 서버를 재시작할 수 있습니다. 하지만, 서버를 재시작하기 전에 모든 스레드가 종료될 때까지 기다려야 합니다.
다음은 예제입니다.
#hostingforum.kr
php
$server = new SwooleServer("0.0.0.0", 9501, SWOOLE_BASE);
$server->on('start', function ($server) {
echo "Server is started.n";
});
$server->on('shutdown', function ($server) {
echo "Server is shutting down.n";
});
$server->on('stop', function ($server) {
echo "Server is stopped.n";
});
$server->start();
// 서버를 중지합니다.
$server->stop();
// 서버를 재시작합니다.
$server->start();
이 예제에서, stop() 메서드를 호출하면 서버가 중지되지만, 스레드가 종료될 때까지 기다리지 않습니다. 따라서, 서버를 재시작하기 전에 모든 스레드가 종료될 때까지 기다려야 합니다.
2025-08-05 20:51