라이브러리

[PHP] stream_set_blocking - 스트림에 차단/비차단 모드 설정




stream_set_blocking

`stream_set_blocking` 함수는 PHP에서 스트림의 블록킹 모드를 설정하는 함수입니다. 블록킹 모드가 활성화되면, 스트림이 데이터를 읽거나 쓰기 위해 블록킹 상태가 됩니다. 블록킹 모드는 스트림이 데이터를 읽거나 쓰기 위해 대기하는 동안 프로세스가 다른 작업을 수행할 수 있도록 합니다.

함수 시그니처

#hostingforum.kr
php

bool stream_set_blocking(resource $stream, bool $mode)



* `$stream`: 스트림 리소스
* `$mode`: 블록킹 모드 (true: 블록킹, false: 비블록킹)

함수 설명

`stream_set_blocking` 함수는 `$stream`에 `$mode` 값을 설정합니다. `$mode`가 true인 경우, 스트림은 블록킹 모드로 설정되고, `$mode`가 false인 경우, 스트림은 비블록킹 모드로 설정됩니다.

예제

#hostingforum.kr
php

// 파일 스트림 열기

$fp = fopen('example.txt', 'r');



// 블록킹 모드 설정

stream_set_blocking($fp, true);



// 데이터 읽기

$data = fread($fp, 1024);

echo $data;



// 블록킹 모드 해제

stream_set_blocking($fp, false);



// 데이터 읽기 (비블록킹 모드)

$data = fread($fp, 1024);

echo $data;



위 예제에서는 `example.txt` 파일을 읽기 모드로 열어 `$fp` 변수에 저장합니다. `stream_set_blocking` 함수를 사용하여 블록킹 모드를 설정하고, 데이터를 읽습니다. 블록킹 모드를 해제한 후, 다시 데이터를 읽습니다.

주의

* 블록킹 모드가 활성화된 스트림은 데이터를 읽거나 쓰기 위해 블록킹 상태가 됩니다. 프로세스가 다른 작업을 수행할 수 없습니다.
* 비블록킹 모드가 활성화된 스트림은 데이터를 읽거나 쓰기 위해 비블록킹 상태가 됩니다. 프로세스는 다른 작업을 수행할 수 있습니다.

참고

* `stream_set_blocking` 함수는 PHP 5.3.0 이상에서 사용할 수 있습니다.
* 스트림의 블록킹 모드는 스트림의 타입에 따라 달라집니다. 예를 들어, 네트워크 스트림은 기본적으로 비블록킹 모드로 설정됩니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색