
SwooleClient::sleep 함수는 클라이언트가 서버에 요청을 보내는 동안 일시정지 상태로 유지하는 데 사용할 수 없습니다. 이 함수는 현재 스레드에서 지정된 시간만큼의 시간을 기다리게 해주는 함수입니다.
이러한 기능을 수행하려면, 클라이언트가 서버에 요청을 보내는 동안 다른 스레드에서 일시정지 상태로 유지하는 방법을 사용해야 합니다. 예를 들어, PHP의 pcntl_fork 함수를 사용하여 새로운 프로세스를 생성하고, 클라이언트가 서버에 요청을 보내는 동안 새로운 프로세스를 일시정지 상태로 유지하는 방법을 사용할 수 있습니다.
다음은 예제 코드입니다.
#hostingforum.kr
php
<?php
// 새로운 프로세스를 생성
$pid = pcntl_fork();
if ($pid == 0) {
// 클라이언트가 서버에 요청을 보내는 코드
$client = new SwooleClient(SWOOLE_SOCK_TCP);
$client->connect('127.0.0.1', 9501);
$client->send('Hello, World!');
$client->close();
// 새로운 프로세스를 종료
exit;
} else {
// 클라이언트가 서버에 요청을 보내는 동안 일시정지 상태로 유지
pcntl_wait($status);
}
?>
이 예제 코드는 새로운 프로세스를 생성하고, 클라이언트가 서버에 요청을 보내는 동안 새로운 프로세스를 일시정지 상태로 유지하는 방법을 보여줍니다.
2025-06-24 21:37