라이브러리

[PHP] SwooleClient::on - 이벤트에 의해 트리거되는 콜백 함수를 추가합니다.




SwooleClient::on


SwooleClient는 PHP에서 Swoole 서버와 통신하는 클라이언트 클래스입니다. SwooleClient::on 메소드는 이벤트 핸들러를 등록하는 메소드로, 클라이언트가 이벤트를 발생할 때마다 호출되는 함수를 등록할 수 있습니다.

# 이벤트 유형


SwooleClient::on 메소드는 여러 이벤트 유형을 지원합니다. 다음은 지원하는 이벤트 유형의 목록입니다.

- `connect`: 클라이언트가 서버와 연결되었을 때 호출
- `receive`: 클라이언트가 데이터를 받았을 때 호출
- `error`: 클라이언트가 오류를 발생했을 때 호출
- `close`: 클라이언트가 서버와 연결을 끊었을 때 호출
- `task`: 클라이언트가 태스크를 받았을 때 호출
- `finish`: 클라이언트가 태스크를 완료했을 때 호출

# 예제


다음 예제는 SwooleClient::on 메소드를 사용하여 이벤트 핸들러를 등록하는 방법을 보여줍니다.

#hostingforum.kr
php

use SwooleClient;



// Swoole 서버와 연결

$client = new Client(SWOOLE_SOCK_TCP);

$client->connect('127.0.0.1', 9501);



// 이벤트 핸들러 등록

$client->on('connect', function ($cli) {

    echo "Connected to server
";

});



$client->on('receive', function ($cli, $data) {

    echo "Received data: $data
";

});



$client->on('error', function ($cli, $code) {

    echo "Error occurred: $code
";

});



$client->on('close', function ($cli) {

    echo "Disconnected from server
";

});



// 데이터 전송

$client->send("Hello, server!");



// 클라이언트 종료

$client->close();



# 태스크 예제


다음 예제는 SwooleClient::on 메소드를 사용하여 태스크 이벤트 핸들러를 등록하는 방법을 보여줍니다.

#hostingforum.kr
php

use SwooleClient;



// Swoole 서버와 연결

$client = new Client(SWOOLE_SOCK_TCP);

$client->connect('127.0.0.1', 9501);



// 태스크 이벤트 핸들러 등록

$client->on('task', function ($cli, $data) {

    echo "Received task: $data
";

    // 태스크 처리

    $result = "Task result: " . $data;

    // 태스크 결과 전송

    $cli->send($result);

});



// 태스크 전송

$client->task("Hello, server!");



// 클라이언트 종료

$client->close();



# 태스크 완료 예제


다음 예제는 SwooleClient::on 메소드를 사용하여 태스크 완료 이벤트 핸들러를 등록하는 방법을 보여줍니다.

#hostingforum.kr
php

use SwooleClient;



// Swoole 서버와 연결

$client = new Client(SWOOLE_SOCK_TCP);

$client->connect('127.0.0.1', 9501);



// 태스크 완료 이벤트 핸들러 등록

$client->on('finish', function ($cli, $data) {

    echo "Task completed: $data
";

});



// 태스크 전송

$client->task("Hello, server!");



// 클라이언트 종료

$client->close();


  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 106 페이지

검색

게시물 검색