Boost C++ Libraries/Boost.Asio

Boost.Asio - POSIX 전용 기능 - 스트림-지향 파일 설명자

까마귀75 2020. 12. 12. 14:30
728x90
반응형

스트림-지향 파일 설명자 (Stream Oriented File Descriptors)

Boost.Asio에는 파이프, 표준 입출력, 다양한 장치와 같이 POSIX 파일 디스크립터로 동기식과 비동기식 읽기/쓰기 작업을 수행할 수 있도록 추가된 클래스가 포함되어 있다.

 

또한 이러한 클래스는 일반 파일에 대한 제한된 지원도 제공한다. 이 지원은 운영 체제에서 제공하는 기본적인 읽기/쓰기 작업이 EAGAIN 또는 EWOULDBLOCK으로 실패하지 않는다고 가정한다. (이 가정은 일반적으로 버퍼링 된 파일 I/O에 적용된다.) 파일 디스크립터에 대한 동기식과 비동기식 읽기/쓰기 작업은 성공하지만, I/O는 항상 즉시 수행된다. 대기 작업 및 boost::asio::null_buffers 관련 작업은 이식 가능하게 지원되지 않는다.

 

예를 들어, 표준 입출력에 대한 읽기/쓰기 작업을 수행가기 위해 다음 개체를 만들 수 있다:

posix::stream_descriptor in(my_io_context, ::dup(STDIN_FILENO));
posix::stream_descriptor out(my_io_context, ::dup(STDOUT_FILENO));

 

그런 다음 동기식이나 비동기식 읽기/쓰기 스트림으로 사용된다. 이는 개체가 read(), async_read(), write(), async_write(), read_until(), async_read_until() 중 사용가능한 함수와 함께 사용됨을 의미한다.

더 보기

posix::stream_descriptor, Chat example (C++03), Char example (C++11).

참고

POSIX 스트림 설명자는 대상 운영 체제에서 지원하는 경우 컴파일 타임에만 사용할 수 있다. 프로그램은 BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR 매크로를 테스트하여 지원 여부를 결정할 수 있다.

 

 

POSIX 전용기능  Boost.Asio 개요  Boost.Asio 홈

728x90
반응형