
SwooleServer::on 이벤트 리스너를 사용하여 서버 이벤트를 처리할 때, 다음 이벤트를 등록할 수 있습니다.
- start: 서버가 시작될 때
- managerStart: 스레드 매니저가 시작될 때
- workerStart: 워커 스레드가 시작될 때
- workerStop: 워커 스레드가 종료될 때
- shutdown: 서버가 종료될 때
- pipeMessage: 파이프 통신을 통해 보낸 메시지를 처리할 때
- connect: 클라이언트가 서버에 연결될 때
- receive: 클라이언트로부터 데이터를 받을 때
- close: 클라이언트가 서버와 연결을 끊을 때
- task: 태스크 큐에 작업이 추가될 때
- finish: 태스크 큐에 작업이 완료될 때
- timer: 타이머가 발생할 때
- pipeError: 파이프 통신 중 오류가 발생할 때
이벤트 이름은 camelCase 형식으로 작성합니다. 예를 들어, 서버가 종료될 때는 shutdown 이벤트를 등록합니다.
이벤트 리스너 함수의 매개변수는 다음과 같습니다.
- $server: SwooleServer 객체
- $fd: 클라이언트의 파일 디스크립터 (connect, receive, close 이벤트에만 해당)
- $fromId: 태스크 큐에 작업이 추가된 아이디 (task, finish 이벤트에만 해당)
- $timerId: 타이머 아이디 (timer 이벤트에만 해당)
- $data: 이벤트에 대한 데이터 (pipeMessage, task, finish 이벤트에만 해당)
- $workerId: 워커 스레드 아이디 (workerStart, workerStop 이벤트에만 해당)
예를 들어, 서버가 종료될 때는 shutdown 이벤트를 등록하여 shutdown 이벤트 리스너 함수를 호출할 수 있습니다.
#hostingforum.kr
php
$server->on('shutdown', function ($server) {
echo "서버가 종료됩니다.n";
});
2025-05-16 14:20