라이브러리

[PHP] EventBufferEvent::setWatermark - 읽기 및/또는 쓰기 워터마크 조정




EventBufferEvent::setWatermark

EventBufferEvent::setWatermark은 EventBufferEvent 객체에 대한 수신 버퍼의 워터마크를 설정하는 메소드입니다. 워터마크는 수신 버퍼의 특정 위치에 도달했을 때 이벤트를 발생시키는 역할을 합니다.

워터마크의 필요성


워터마크는 수신 버퍼의 특정 위치에 도달했을 때 이벤트를 발생시키는 역할을 합니다. 예를 들어, 수신 버퍼의 1024바이트가 채워졌을 때 이벤트를 발생시키는 워터마크를 설정할 수 있습니다. 이 경우, 수신 버퍼의 1024바이트가 채워졌을 때 이벤트를 발생시키는 이벤트를 받을 수 있습니다.

예제


다음 예제는 EventBufferEvent::setWatermark를 사용하는 예제입니다.

#hostingforum.kr
php

<?php



use EvLoop;

use EvBuffer;

use EvAsyncSocket;



// 이벤트 루프 생성

$loop = new Loop();



// 소켓 생성

$server = new AsyncSocket($loop);

$server->setAddress('127.0.0.1', 12345);



// 수신 버퍼 생성

$buffer = new Buffer(1024);



// 이벤트 루프에 이벤트 등록

$server->on('connection', function ($server, $fd) use ($buffer) {

    echo "클라이언트 연결
";



    // 수신 버퍼에 이벤트 등록

    $server->on('data', function ($server, $data) use ($buffer) {

        echo "수신 데이터: " . $data . "
";



        // 수신 버퍼의 워터마크 설정

        $server->setWatermark(1024, 1024);



        // 수신 버퍼의 워터마크 이벤트 등록

        $server->on('watermark', function ($server) {

            echo "수신 버퍼 워터마크
";

        });

    });

});



// 이벤트 루프 시작

$loop->run();



?>



워터마크 설정


워터마크는 수신 버퍼의 특정 위치에 도달했을 때 이벤트를 발생시키는 역할을 합니다. 워터마크를 설정하는 방법은 다음과 같습니다.

* `setWatermark($lowWatermark, $highWatermark)`: 수신 버퍼의 워터마크를 설정합니다. `$lowWatermark`은 수신 버퍼의 최소 워터마크 위치를 나타내고, `$highWatermark`은 수신 버퍼의 최대 워터마크 위치를 나타냅니다.

워터마크 이벤트


워터마크 이벤트는 수신 버퍼의 워터마크 위치에 도달했을 때 발생하는 이벤트입니다. 워터마크 이벤트를 등록하는 방법은 다음과 같습니다.

* `on('watermark', $callback)`: 수신 버퍼의 워터마크 위치에 도달했을 때 이벤트를 발생시키는 콜백 함수를 등록합니다.

결론


EventBufferEvent::setWatermark은 수신 버퍼의 워터마크를 설정하는 메소드입니다. 워터마크는 수신 버퍼의 특정 위치에 도달했을 때 이벤트를 발생시키는 역할을 합니다. 이 예제는 EventBufferEvent::setWatermark를 사용하는 방법을 보여줍니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색