1#ifndef NEFORCE_NETWORK_TCP_TCP_ACCEPTOR_HPP__
2#define NEFORCE_NETWORK_TCP_TCP_ACCEPTOR_HPP__
12NEFORCE_BEGIN_NAMESPACE__
141 template <
typename Token, enable_if_t<!is_same_v<decay_t<Token>, function<
void(error_code, tcp_socket)>>,
int> = 0>
165#ifdef NEFORCE_STANDARD_20
181NEFORCE_END_NAMESPACE__
virtual void connect(const ip_address &endpoint)
连接到远程端点(TCP客户端)
ip_socket()=default
默认构造函数
bool shutdown_both() noexcept
关闭双向通信
bool shutdown_receive() noexcept
关闭接收方向
void open(family f, type t=type::STREAM, protocol p=protocol::AUTO)
打开socket
bool shutdown_send() noexcept
关闭发送方向
tcp_socket accept()
接受客户端连接(阻塞模式)
void async_accept(io_context &ctx, Token &&token)
异步接受—任意可调用对象
tcp_acceptor()=default
默认构造函数
optional< tcp_socket > accept_nonblock()
接受客户端连接(非阻塞模式)
void open(const ip_address &endpoint, int backlog=SOMAXCONN)
打开并开始监听
decltype(auto) async_accept(io_context &ctx, use_future_t)
异步接受—use_future
void async_accept(io_context &ctx, detached_t)
异步接受—detached(即发即忘)
void async_accept(io_context &ctx, cancellation_slot &slot, function< void(error_code, tcp_socket)> handler)
异步接受连接(带取消槽)
decltype(auto) async_accept(io_context &ctx, use_awaitable_t)
异步接受—use_awaitable
void async_accept(io_context &ctx, function< void(error_code, tcp_socket)> handler)
异步接受客户端连接
constexpr T && forward(remove_reference_t< T > &x) noexcept
完美转发左值
constexpr use_awaitable_t use_awaitable
use_awaitable 常量
constexpr use_future_t use_future
use_future 常量