라이브러리
[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를 사용하는 방법을 보여줍니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.