라이브러리

[PHP] swoole_event_del - 소켓의 모든 이벤트 콜백 함수를 제거합니다.




Swoole Event Del


Swoole는 PHP에서 이벤트 기반의 비동기 I/O 처리를 지원하는 라이브러리입니다. Swoole Event Del은 이벤트를 삭제하는 메서드입니다. 이벤트를 삭제하면 이벤트가 발생할 때 호출되는 함수가 더 이상 호출되지 않습니다.

사용법


Swoole Event Del을 사용하려면 먼저 이벤트를 등록해야 합니다. 이벤트를 등록하는 메서드는 `swoole_event_add`입니다.

#hostingforum.kr
php

// 이벤트를 등록합니다.

$swoole_event_add = swoole_event_add($fd, $flags);



`$fd`는 파일 디스크립터입니다. `$flags`는 이벤트의 플래그입니다. 예를 들어, `SWOOLE_EVENT_READ` 플래그는 읽기 이벤트를 등록합니다.

예제


이 예제에서는 클라이언트와 서버를 연결하고, 클라이언트가 서버에 메시지를 보낼 때 서버가 메시지를 받는 이벤트를 등록합니다. 그런 다음, 클라이언트가 서버에 메시지를 보낼 때 이벤트가 발생하지 않도록 이벤트를 삭제합니다.

#hostingforum.kr
php

// 서버를 생성합니다.

$serv = new swoole_server("0.0.0.0", 9501);



// 이벤트를 등록합니다.

$serv->on('connect', function ($serv, $fd) {

    echo "Client: $fd connect.
";

});



// 이벤트를 등록합니다.

$serv->on('receive', function ($serv, $fd, $from_id, $data) {

    echo "Client: $fd receive data: $data
";

    // 이벤트를 삭제합니다.

    swoole_event_del($fd);

});



// 서버를 시작합니다.

$serv->start();



#hostingforum.kr
php

// 클라이언트를 생성합니다.

$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);



// 이벤트를 등록합니다.

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

    echo "Client: connect.
";

    // 서버에 메시지를 보냅니다.

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

});



// 클라이언트를 연결합니다.

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



참고


- Swoole Event Del은 이벤트를 삭제하는 메서드입니다.
- 이벤트를 삭제하면 이벤트가 발생할 때 호출되는 함수가 더 이상 호출되지 않습니다.
- 이벤트를 등록하는 메서드는 `swoole_event_add`입니다.
- `$fd`는 파일 디스크립터입니다.
- `$flags`는 이벤트의 플래그입니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색