
SwooleServerPort::on은 Swoole 서버에서 이벤트를 등록하는 메소드입니다. Swoole 서버에서는 다양한 이벤트를 지원합니다.
- START: 서버가 시작될 때 호출되는 이벤트입니다.
- STOP: 서버가 종료될 때 호출되는 이벤트입니다.
- MANAGER_START: 서버 매니저가 시작될 때 호출되는 이벤트입니다.
- MANAGER_STOP: 서버 매니저가 종료될 때 호출되는 이벤트입니다.
- WORKER_START: 워커 프로세스가 시작될 때 호출되는 이벤트입니다.
- WORKER_STOP: 워커 프로세스가 종료될 때 호출되는 이벤트입니다.
- TASK: 태스크가 시작될 때 호출되는 이벤트입니다.
- TASK_FINISH: 태스크가 완료될 때 호출되는 이벤트입니다.
- TIMER: 타이머가 호출될 때 호출되는 이벤트입니다.
- CONNECTION: 클라이언트와 연결될 때 호출되는 이벤트입니다.
- CLOSE: 클라이언트와 연결이 끊길 때 호출되는 이벤트입니다.
- RECEIVE: 클라이언트로부터 데이터를 받을 때 호출되는 이벤트입니다.
- SEND: 서버가 클라이언트에게 데이터를 보낼 때 호출되는 이벤트입니다.
- MESSAGE: 클라이언트와 서버 간에 메시지를 주고받을 때 호출되는 이벤트입니다.
- CLOSE: 클라이언트와 연결이 끊길 때 호출되는 이벤트입니다.
- ERROR: 오류가 발생할 때 호출되는 이벤트입니다.
- BEAT: 서버와 클라이언트 간의 ping-pong을 통해 연결 상태를 확인할 때 호출되는 이벤트입니다.
이벤트를 등록할 때, 이벤트 이름을 첫 번째 인자로 넘기고, 이벤트 핸들러 함수를 두 번째 인자로 넘기면 됩니다. 예를 들어, CONNECTION 이벤트를 등록하려면 다음과 같이 작성할 수 있습니다.
#hostingforum.kr
php
$serv->on('connection', function ($serv, $fd) {
echo "Client: $fdn";
});
이벤트 핸들러 함수는 이벤트 이름을 첫 번째 인자로 받고, 이벤트 관련 데이터를 두 번째 인자로 받습니다. 이벤트 핸들러 함수에서 이벤트 관련 데이터를 처리하고, 필요한 경우 이벤트를 중단하거나 종료할 수 있습니다.
2025-03-13 01:17