
SwooleServerPort::on은 이벤트 핸들러를 등록하는 메소드입니다. 이벤트 핸들러는 특정 이벤트가 발생했을 때 호출되는 함수입니다.
SwooleServerPort::on을 사용하여 이벤트 핸들러를 등록하는 순서는 다음과 같습니다.
1. 서버를 생성하고 초기화합니다.
2. 이벤트 핸들러를 등록합니다.
- 예시: `$server->on('Start', function ($server) { ... });`
- 예시: `$server->on('Connect', function ($server, $fd) { ... });`
- 예시: `$server->on('Receive', function ($server, $fd, $fromId, $data) { ... });`
- 예시: `$server->on('Close', function ($server, $fd) { ... });`
이벤트 핸들러는 이벤트가 발생했을 때 호출됩니다. 이벤트 핸들러는 서버가 시작되거나, 클라이언트가 연결되거나, 데이터를 받거나, 연결이 종료되었을 때 호출됩니다.
예를 들어, 서버가 시작될 때 호출되는 이벤트 핸들러를 등록하는 코드는 다음과 같습니다.
#hostingforum.kr
php
$server = new swoole_server('127.0.0.1', 9501);
$server->on('Start', function ($server) {
echo "Server started.n";
});
$server->start();
클라이언트가 연결될 때 호출되는 이벤트 핸들러를 등록하는 코드는 다음과 같습니다.
#hostingforum.kr
php
$server = new swoole_server('127.0.0.1', 9501);
$server->on('Connect', function ($server, $fd) {
echo "Client connected.n";
});
$server->start();
클라이언트가 데이터를 받을 때 호출되는 이벤트 핸들러를 등록하는 코드는 다음과 같습니다.
#hostingforum.kr
php
$server = new swoole_server('127.0.0.1', 9501);
$server->on('Receive', function ($server, $fd, $fromId, $data) {
echo "Received data: $datan";
});
$server->start();
클라이언트가 연결을 종료할 때 호출되는 이벤트 핸들러를 등록하는 코드는 다음과 같습니다.
#hostingforum.kr
php
$server = new swoole_server('127.0.0.1', 9501);
$server->on('Close', function ($server, $fd) {
echo "Client disconnected.n";
});
$server->start();
2025-05-25 12:00