Boost C++ Libraries/Boost.Asio

Boost.Asio 색인 - basic_socket_acceptor

까마귀75 2021. 4. 5. 17:02
728x90
반응형

basic_socket_acceptor

새 연결을 승인하는 기능을 제공한다.

template<
    typename Protocol,
    typename Executor>
class basic_socket_acceptor :
  public socket_base

[Protocol, Executor]

유형

이 름 설 명
rebind_executor 승인기(acceptor) 유형을 다른 실행기(executor)로 리바인드한다.
broadcast 브로드캐스트 메세지의 전송을 허용하는 소켓 옵션이다.
bytes_readable 블럭되지 않고 읽을 수 있는 데이터의 양을 가져오는 IO 컨트롤 커맨드이다.
debug 소켓-레벨 디버깅에 사용되는 소켓 옵션이다.
do_not_route 라우팅을 하지않고, 로컬 인터페이스만 사용하는 소켓 옵션이다.
enable_connection_aborted 승인이 취소된 연결을 보고하는 소켓 옵션이다.
endpoint_type 엔드포인트 유형이다.
executor_type 개체와 연결된 실행기(executor) 유형이다.
keep_alive keep-alive(접속 유지)를 전송하는 소켓 옵션이다.
linger 전송되지 않은 데이터가 있는 경우, 소켓을 닫을 수 있는지 여부를 지정하는 소켓 옵션이다.
message_flags 송수신 작업에 전달할 수 있는 플래그에 대한 비트 마스트 유형이다.
native_handle_type 승인기(acceptor)의 기본 유형이다.
out_of_band_inline 수신된 대역외 데이터를 인라인으로 넣기 위한 소켓 옵션이다.
protocol_type 프로토콜 유형
receive_buffer_size 소켓의 수신 버퍼 크기에 대한 소켓 옵션이다.
receive_low_watermark 수신 Low-watermark에 대한 소켓 옵션이다. (응용프로그램에 한번에 읽을(read) 데이터 크기를 설정한다.)
reuse_address 이미 사용중인 주소에 소켓을 바인딩할 수 있는 소켓 옵션이다.
send_buffer_size 소켓의 송신 버퍼 크기에 대한 소켓 옵션이다.
send_low_watermark 송신 Low-watermark에 대한 소켓 옵션이다.
shutdown_type 소켓이 종료되는 다양한 방법이다.
wait_type 대기 유형

멤버 함수

이 름 설 명
accept 새 연결을 승인한다.

새 연결을 승인하고 피어의 엔드포인트를 가져온다.
assign 승인기(acceptor)에 기존의 기본 승인기(native acceptor)를 할당한다.
async_accept 비동기 승인을 시작한다.
async_wait 읽기/쓰기 준비가 되거나 보류중인 오류 조건이 있을 때까지 승인기(acceptor)가 비동기 대기를 한다.
basic_socket_acceptor
[생성자(constructor)]
승인기(acceptor)를 열지 않고 생성한다.

승인기(acceptor)를 열면서 생성한다.

주어진 엔드포인트에서 열려 있는 승인기(acceptor)로 생성한다.

기존의 기본 승인기(native acceptor)에서 basic_socket_acceptor를 생성한다.

다른 basic_socket_acceptor에서 basic_socket_acceptor를 이동-생성한다.

다른 프로토콜 유형의 승인기(acceptor)에서 basic_socket_acceptor를 이동-생성한다.
bind 주어진 로컬 엔드포인트에 승인기(acceptor)를 바인딩한다.
cancel 승인기(acceptor)와 관련된 모든 비동기 작업을 취소한다.
close 승인기를 닫는다.
get_executor 개체와 연결된 실행기(executor)를 가져온다.
get_option 승인기(acceptor)에서 옵션을 가져온다.
io_control 승인기(acceptor)에서 IO 컨트롤 커맨드를 수행한다.
is_open 승인기(acceptor)가 열려 있는지 확인한다.
listen 새 연결을 수신할 수 있는 상태로 승인기(acceptor)를 놓는다.
local_endpoint 승인기(acceptor)의 로컬 엔드포인트를 가져온다.
native_handle 기본 승인기(native acceptor) 형식을 가져온다.
native_non_blocking 기본 승인기(native acceptor) 구현의 넌 블럭킹 모드를 가져온다.

기본 승인기(native acceptor) 구현의 넌 블럭킹 모드를 설정한다.
non_blocking 승인기(acceptor)의 넌 블럭킹 모드를 가져온다.

승인기(acceptor)의 넌 블럭킹 모드를 설정한다.
open 지정된 프로토콜을 사용하는 승인기(acceptor)를 연다.
operator= 다른 basic_socket_acceptor에서 basic_socket_acceptor를 이동-할당한다.

다른 프로토콜 유형의 승인기(acceptor)에서 basic_socket_acceptor를 이동-할당한다.
release 기저 기본 승인기(native acceptor)의 소유권을 해제한다.
set_option 승인기(acceptor)의 옵션을 설정한다.
wait 읽기/쓰기 준비가되거나 보류중인 오류 조건이 있을 때까지 승인기(acceptor) 대기한다.
~basic_socket_acceptor
[소멸자(destructor)]
승인기(acceptor)를 소멸(파괴)한다.

멤버 데이터

이 름 설 명
max_connections [static] (사용안함:max_listen_connections를 사용) 연결 대기 큐의 최대 길이이다.
max_listen_connections [static] 연결 대기 큐의 최대 길이이다.
message_do_not_route [static] 데이터가 라우팅되지 않도록 지정한다.
message_end_of_record [static] 데이터가 레코드의 끝을 표시하도록 지정한다.
message_out_of_band [static] 대역외 데이터를 처리한다.
message_peek [static] 입력 큐에서 데이터를 제거하지 않고 수신 데이터를 확인한다.


basic_socket_acceptor 클래스 템플릿은 새 소켓 연결을 승인하는데 사용된다.

스레드 안정성

고유 개체: 안전함.
공유 개체: 안전하지 않음.

예제

SO_REUSEADDR 옵션이 사용된 상태에서 소켓 승인기(acceptor) 열기:

boost::asio::ip::tcp::acceptor acceptor(my_context);
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), port);
acceptor.open(endpoint.protocol());
acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
acceptor.bind(endpoint);
acceptor.listen();

요구사항

일반 헤더: boost/asio/basic_socket_acceptor.hpp
편의 헤더: boost/asio.hpp


Boost.Asio 홈

728x90
반응형