라이브러리

[PHP] EventBufferEvent::setTimeouts - 버퍼 이벤트에 대한 읽기 및 쓰기 시간 초과 설정




EventBufferEvent::setTimeouts


EventBufferEvent::setTimeouts는 EventBufferEvent 객체에 대한 setTimeouts 메소드를 제공하는 PHP 클래스입니다. 이 메소드는 EventBufferEvent 객체에 대한 타임아웃 설정을 허용하며, 타임아웃이 발생하면 이벤트가 발생합니다.

사용법


EventBufferEvent::setTimeouts 메소드는 두 개의 파라미터를 받습니다. 첫 번째 파라미터는 타임아웃 시간을 초 단위로 나타내는 정수 값입니다. 두 번째 파라미터는 타임아웃이 발생했을 때 호출할 콜백 함수입니다.

예제


다음은 EventBufferEvent::setTimeouts 메소드를 사용한 예제입니다.

#hostingforum.kr
php

<?php



use ReactEventLoopFactory;

use ReactEventLoopLoopInterface;

use ReactEventLoopTimerInterface;



$loop = Factory::create();



$event = $loop->createBufferEvent();

$event->setTimeouts(5, function () use ($event, $loop) {

    echo "타임아웃이 발생했습니다.
";

    $event->stop();

    $loop->stop();

});



$loop->run();



?>



이 예제는 5초 후에 타임아웃이 발생하는 이벤트를 생성합니다. 타임아웃이 발생하면 "타임아웃이 발생했습니다."라는 메시지를 출력하고 이벤트를 중지합니다.

타임아웃 설정


EventBufferEvent::setTimeouts 메소드는 여러 타임아웃을 설정할 수 있습니다. 예를 들어, 다음 예제는 5초와 10초의 두 개의 타임아웃을 설정합니다.

#hostingforum.kr
php

<?php



use ReactEventLoopFactory;

use ReactEventLoopLoopInterface;



$loop = Factory::create();



$event = $loop->createBufferEvent();

$event->setTimeouts(5, function () use ($event, $loop) {

    echo "5초 타임아웃이 발생했습니다.
";

    $event->stop();

});

$event->setTimeouts(10, function () use ($event, $loop) {

    echo "10초 타임아웃이 발생했습니다.
";

    $event->stop();

    $loop->stop();

});



$loop->run();



?>



이 예제는 5초와 10초의 두 개의 타임아웃을 설정합니다. 5초 타임아웃이 발생하면 "5초 타임아웃이 발생했습니다."라는 메시지를 출력하고 이벤트를 중지합니다. 10초 타임아웃이 발생하면 "10초 타임아웃이 발생했습니다."라는 메시지를 출력하고 이벤트를 중지하고 이벤트 루프를 중지합니다.

타임아웃 취소


EventBufferEvent::setTimeouts 메소드는 타임아웃을 취소할 수 있는 메소드를 제공하지 않습니다. 그러나, 타임아웃이 설정된 이벤트를 중지하면 타임아웃이 취소됩니다.

#hostingforum.kr
php

<?php



use ReactEventLoopFactory;

use ReactEventLoopLoopInterface;



$loop = Factory::create();



$event = $loop->createBufferEvent();

$event->setTimeouts(5, function () use ($event, $loop) {

    echo "타임아웃이 발생했습니다.
";

    $event->stop();

});



$loop->runUntil(function () use ($event) {

    return !$event->isScheduled();

});



?>



이 예제는 5초 타임아웃이 설정된 이벤트를 중지합니다. 이벤트 루프는 이벤트가 중지될 때까지 실행됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 579 페이지

검색

게시물 검색