728x90
반응형
basic_raw_socket::async_connect
basic_socket에서 상속된다.
비동기 연결을 시작한다.
template<
typename ConnectHandler = DEFAULT>
DEDUCED async_connect(
const endpoint_type & peer_endpoint,
ConnectHandler && handler = DEFAULT);
[ConnectHandler, DEFAULT, DEDUCED]
이 함수는 소켓을 지정된 원격 엔드포인트에 비동기로 연결하는데 사용된다. 함수 호출은 항상 즉시 반환된다.
소켓을 미리 열지 않았으면 자동으로 열린 상태가 된다. 만약 자동으로 열린 상태의 소켓이 연결에 실패하면 소켓은 닫힌 상태로 돌아가지 않는다.
파라미터
peer_endpoint
소켓을 연결할 원격 엔드포인트이다. 필요에 따라 엔드포인트 개체의 복사본이 만들어진다.
handler
연결 작업이 완료되면 호출되는 핸들러이다. 필요에 따라 핸들러의 복사본이 만들어진다. 핸들러의 함수 서명은 다음과 같다.
void handler( const boost::system::error_code& error // Result of operation );
비동기 작업이 즉시 완료되는지 여부에 상관없이, 핸들러는 이 함수내에서 호출되지 않는다. 즉시 완료되면 핸들러 호출은 "post"를 사용하는 것과 동일한 방식으로 수행된다.
예제
void connect_handler(const boost::system::error_code& error)
{
if (!error)
{
// Connect succeeded.
}
}
...
boost::asio::ip::tcp::socket socket(my_context);
boost::asio::ip::tcp::endpoint endpoint(
boost::asio::ip::address::from_string("1.2.3.4"), 12345);
socket.async_connect(endpoint, connect_handler);
728x90
반응형
'Boost C++ Libraries > Boost.Asio' 카테고리의 다른 글
Boost.Asio 색인 - basic_socket::async_connect (0) | 2021.01.06 |
---|---|
Boost.Asio 색인 - basic_seq_packet_socket::async_connect (0) | 2021.01.06 |
Boost.Asio 색인 - basic_datagram_socket::async_connect (0) | 2021.01.06 |
Boost.Asio 색인 - async_connect (0) | 2021.01.06 |
Boost.Asio 색인 - async_compose (0) | 2021.01.06 |