SSL Boost.Asio에는 기본 SSL 지원을 위한 클래스 및 클래스 템플릿이 포함되어 있다. 이러한 클래스는 기존 스트림 (TCP 소켓과 같은) 위에 계층화되어 암호화된 통신을 허용한다. 암호화된 스트림이 생성되기 전에, 응용프로그램은 SSL 컨텍스트 개체를 생성해야 한다. 이 개체는 검증 모드, 인증서 파일 등과 같은 SSL 옵션을 설정하는 데 사용된다. 예를 들어, 클라이언트 측 초기화는 다음과 같다: ssl::context ctx(ssl::context::sslv23); ctx.set_verify_mode(ssl::verify_peer); ctx.load_verify_file("ca.pem"); TCP 소켓으로 SSL을 사용하려면, 다음과 같이 작성할 수 있다: ssl::stream ssl_s..
객체 핸들 (Object HANDLEs) Boost.Asio는 HANDLE에서 다음 유형의 커널 객체에 대해 비동기식 대기 작업을 수행할 수 있는 Windows 지정 클래스를 제공한다: 알림 변경 (Change notification) 콘솔 입력 (Console input) 이벤트 (Event) 메모리 자원 알림 (Memory resource notofication) 프로세스 (Process) 세마포어 (Semaphore) 스레드 (Thread) 대기 가능 타이머 (Waitable timer) 예를 들어, 이벤트에 대해 비동기 작업을 수행하기 위해 다음과 같은 개체를 생성할 수 있다: HANDLE handle = ::CreateEvent(...); windows::object_handle file(my_..
임위-접근 핸들 (Random-Access HANDLEs) Boost.Asio는 일반 파일을 참조하는 HANDLE에서 비동기식 읽기/쓰기 작업을 수행할 수 있는 Windows 전용 클래스를 제공한다. 예를 들어, 파일로 비동기식 작업을 수행하려면 다음과 같이 개체를 생성할 수 있다: HANDLE handle = ::CreateFile(...); windows::random_access_handle file(my_io_context, handle); read_some_at(), async_read_some_at(), write_some_at(), async_write_some_at() 멤버 함수 중 하나를 사용하여 핸들로 데이터를 읽거나 쓸 수 있다. 그러나 스트림용과 동등한 함수(read_some() 등..
스트림-지향 핸들 (Stream-Oriented HANDLEs) Boost.Asio에는 명명된 파이프와 같은 Windows HANDLE에서 비동기식 읽기/쓰기 작업을 수행할 수 있는 클래스가 포함되어 있다. 예를 들어, 명명된 파이프에서 비동기 작업을 수행하려면 다음과 같은 객체를 생성할 수 있다: HANDLE handle = ::CreateFile(...); windows::stream_handle pipe(my_io_context, handle); 그런 다음 동기식이나 비동기식 읽기/쓰기 스트림으로 사용된다. 이것은 개체가 read(), async_read(), write(), async_write(), read_until(), async_read_until() 중 사용 가능한 함수와 함께 사용될 수..