분류 전체보기

Boost C++ Libraries/Boost.Asio

Boost.Asio 튜토리얼 - Timer.2 - 타이머를 비동기식으로 사용

Timer.2 타이머를 비동기식으로 사용 (Using a timer asynchronously) 이 튜토리얼 프로그램은 타이머에서 비동기 대기를 수행하도록 튜토리얼 Timer.1에서 사용한 프로그램을 수정하여 asio의 비동기 콜백 기능을 사용하는 방법을 보여준다. #include #include asio의 비동기 기능을 사용한다는 것은 비동기 작업 완료 후 호출되는 콜백 함수를 갖는다는 것을 의미한다. 이 프로그램에서는 비동기 대기가 끝나면 호출되는 print라는 함수를 정의한다. void print(const boost::system::error_code& /*e*/) { std::cout

Boost C++ Libraries/Boost.Asio

Boost.Asio 튜토리얼 - Timer.1 - 타이머를 동기식으로 사용

Timer.1 - 타이머를 동기식으로 사용 (Using a timer synchronously) 이 튜토리얼 프로그램은 asio를 소개하기 위해서 타이머에서 블록 대기를 수행하는 방법을 보여준다. 필요한 헤더 파일을 포함하는 것으로 시작한다. 모든 asio 클래스는 단순히 "asio.hpp" 헤더 파일을 포함하여 사용할 수 있다. #include #include asio를 사용하는 모든 프로그램에는 io_context 또는 thread_pool 개체와 같은 I/O 실행 컨텍스트가 하나 이상 있어야 한다. I/O 실행 컨텍스트는 I/O 기능에 대한 접근을 제공한다. main 함수에서 io_context 유형의 개체를 먼저 선언한다. int main() { boost::asio::io_context io; ..

Boost C++ Libraries/Boost.Asio

Boost.Asio 튜토리얼

튜토리얼 (Tutorial) 기본 기술 (Basic Skills) 첫 번째 섹션의 튜토리얼 프로그램은 asio 툴킷을 사용하는데 필요한 기본 개념을 소개한다. 복잡한 네트워크 프로그래밍 세계로 빠져들기 전에, 이 튜토리얼 프로그램은 간단한 비동기 타이머를 사용하여 기본 기술을 설명한다. Timer.1 - 타이머를 동기식으로 사용 Timer.2 - 타이머를 비동기식으로 사용 Timer.3 - 핸들러에 대한 바인딩 인수 Timer.4 - 핸들러로 멤버 함수를 사용 Timer.5 - 멀티스레드 프로그램에서 핸들러 동기화 소켓 소개 (Introduction to Sockets) 두 번째 섹션의 튜토리얼 프로그램은 asio를 사용하여 간단한 클라이언트와 서버 프로그램을 개발하는 방법을 보여준다. 이 튜토리얼 프로..

Boost C++ Libraries/Boost.Asio

Boost.Asio 사용

Boost.Asio 사용 (Using Boost.Asio) 지원되는 플랫폼 (Supported Platforms) 다음 플랫폼과 컴파일러 조합은 정기적으로 테스트된다: g++ 4.1 이상 사용하는 Linux clang 3.2 이상 사용하는 Linux g++ 4.1 이상 사용하는 FreeBSD Xcode 8 이상 사용하는 macOS Visual C++9.0 이상 사용하는 Win32 g++ 4.1 이상(MinGW) 사용하는 Win32 Visual C++ 9.0 이상 사용하는 Win64 다음 플랫폼도 작동할 수 있다: AIX Android HP-UX iOS NetBSD OpenBSD QNX Neutrino Solaris Tru64 Cygwin을 사용하는 Win32 (__USE_W32_SOCKET가 정의되어야 ..

Boost C++ Libraries/Boost.Asio

Boost.Asio 개요 - 플랫폼별 구현 정보

플랫폼별 구현 정보 (Platform-Specific Implementation Notes) 이 섹션에는 기본 디멀티플렉싱 메커니즘, 내부적으로 생성된 스레드 수 및 스레드 생성 시기와 같은 플랫폼별 세부 구현 정보가 나열되어 있다. Linux Kernel 2.4 디멀티플렉싱 메커니즘: 디멀티플렉싱에 select를 사용한다. 이는 프로세스 내에 파일 디스크립터 수가 FD_SETSIZE를 초과할 수 없음을 의미한다. 스레드: select를 사용한 디멀티플렉싱은 io_context::run(), io_context::run_one(), io_context::poll() 또는 io_context::poll_one()을 호출하는 스레드 중 하나에서 수행된다. 각 io_context에서 추가한 스레드는 비동기식 ..

까마귀75
'분류 전체보기' 카테고리의 글 목록 (464 Page)