Boost C++ Libraries/Boost.Asio

Boost.Asio - basic_socket

까마귀75 2021. 3. 27. 21:49
728x90
반응형

basic_socket

소켓 기능을 제공한다.

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

[Protocol, Excutor]

유 형

이 름 설 명
rebind_executor 소켓 유형을 다른 실행기로 다시 바인드한다.
broadcast 브로드캐스트 메세지 전송을 허용하는 소켓 옵션.
bytes_readable 블럭없이 읽을 수 있는 데이터의 양을 가져오는 IO 제어 명령어.
debug 소켓-레벨 디버깅을 사용하는 소켓 옵션.
do_not_route 라우팅 방지를 위한 소켓 옵션, 로컬 인터페이스에서만 사용.
enable_connection_aborted accept에서 실패한 연결을 보고하는 소켓 옵션.
endpoint_type 엔드포인트 유형.
executor_type 개체와 연결된 실행기(executor) 유형.
keep_alive keep-alive를 보내는 소켓 옵션.
linger 소켓을 닫을 때, 전송되지 않은 데이터의 유지 여부를 지정하는 소켓 옵션.
lowest_layer_type basic_socket은 항상 최하위 계층이다.
message_flags 송수신 작업에 전달될 수 있는 플래그의 비트마스크 유형.
native_handle_type 소켓의 기본(native) 표현.
out_of_band_inline 수신된 대역외 데이터를 인라인으로 배치하려는 소켓 옵션.
protocol_type 프로토콜 유형.
receive_buffer_size 소켓 수신 버퍼 크기에 대한 소켓 옵션.
receive_low_watermark 로우 워터마크 수신에 대한 소켓 옵션.
reuse_address 소켓을 이미 사용중인 주소에 바인딩할 수 있는 소켓 옵션.
send_buffer_size 소켓 전송 버퍼 크기에 대한 소켓 옵션.
send_low_watermark 로우 워터마크 전송에 대한 소켓 옵션.
shutdown_type 소켓이 종료되는 다양한 방법.
wait_type 대기 유형.

멤버 함수

이 름 설 명
assign 현재 사용되는 기본(native) 소켓에서 소켓을 할당한다.
async_connect 비동기식 연결을 시작한다.
async_wait 읽기/쓰기 준비나 보류 중인 오류 조건을 가질 때까지 소켓을 비동기적으로 대기한다.
at_mask 소켓에 대역외 데이터 표시가 있는지 확인한다.
available 읽기 가능한 바이트 수를 확인한다.
basic_socket
[constructor]
basic_socket을 열지 않고 생성.

basic_socket을 열어서 생성.

basic_socket을 열어서 생성하고 주어진 로컬 엔드포인트에 바인드 한다.

현재 사용되는 기본(native) 소켓에서 basic_socket을 생성.

다른 basic_socket에서 이동-생성.

다른 프로토콜 유형의 소켓에서 basic_socket을 이동-생성.
bind 주어진 로컬 엔드포인트로 소켓을 바인드한다.
cancel 소켓과 연결된 모든 비동기 작업을 취소한다.
close 소켓을 닫는다.
connect 지정된 엔드포인트에 소켓을 연결한다.
get_executor 개체와 연결된 실행기(executor)를 가져온다.
get_option 소켓에서 옵션을 가져온다.
io_control 소켓에서 IO 제어 명령을 수행한다.
is_open 소켓이 열려 있는지 확인한다.
local_endpoint 소켓의 로컬 엔드포인트를 가져온다.
lowest_layer 최하위 계층에 대한 참조를 가져온다.

최하위 계층에 대한 const 참조를 가져온다.
native_handle 기본(native) 소켓 표현을 가져온다.
native_non_blocking 기본(native) 소켓 구현의 넌-블럭킹 모드를 가져온다.

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

소켓의 넌-블럭킹 모드를 설정한다.
open 주어진 프로토콜을 사용하는 소켓을 연다.
operator= 다른 basic_socket에서 이동-할당한다.

다른 프로토콜 유형의 소켓에서 basic_socket를 이동-할당한다.
release 기저 기본(native) 소켓의 소유권을 해제한다.
remote_endpoint 소켓의 원격 엔드포인트를 가져온다.
set_option 소켓에 대한 옵션을 설정한다.
shutdown 소켓에서 송수신을 비활성화 한다.
wait 소켓이 읽기/쓰기 준비나 보류중인 오류 조건이 될 때까지 대기한다.

보호된(protected) 멤버 함수

이 름 설 명
~basic_socket [destructor] 이 유형을 통한 삭제를 방지하는 보호된 소멸자.

데이터 멤버

이 름 설 명
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 클래스 템플릿은 스트림-지향 및 데이터그램-지향 소켓 모두에 공통적인 기능을 제공한다.

스레드 안전성

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

요구 사항

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

Boost.Asio 홈

728x90
반응형