
SwooleEvent::add를 사용하여 이벤트 루프를 설정한 후, callback function을 등록하려면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$server = new swoole_server("0.0.0.0", 9501);
$server->on('connect', function ($server, $fd) {
echo "Client {$fd} connected.n";
});
$server->on('receive', function ($server, $fd, $from_id, $data) {
echo "Client {$fd} received message: {$data}n";
$server->send($fd, "Hello, client.");
});
$server->on('close', function ($server, $fd) {
echo "Client {$fd} closed.n";
});
$server->start();
위 예제에서, `on` 메소드는 이벤트 이름과 callback function을 등록하는 메소드입니다. callback function은 이벤트가 발생했을 때 호출되는 함수입니다.
callback function은 다음과 같은 형식을 사용할 수 있습니다.
- `function ($server, $fd) { ... }` : 이벤트 루프에 등록된 서버 객체와 클라이언트의 파일 디스크립터를 인자로 받습니다.
- `function ($server, $fd, $from_id, $data) { ... }` : 이벤트 루프에 등록된 서버 객체, 클라이언트의 파일 디스크립터, 데이터를 인자로 받습니다.
- `function ($server, $fd, $from_id, $data, $flags) { ... }` : 이벤트 루프에 등록된 서버 객체, 클라이언트의 파일 디스크립터, 데이터, 플래그를 인자로 받습니다.
callback function을 등록할 때, 이벤트 이름과 callback function을 등록하는 메소드를 사용합니다. 예를 들어, `on('connect', function ($server, $fd) { ... })`는 연결 이벤트에 대한 callback function을 등록하는 메소드입니다.
2025-08-02 02:32