本文以 non-Boost 版本的 Asio 为例,但是协程部分需要导入 Boost 库

套接字选贤

Table 1. 通用
函数作用

boost::asio::ip::v6_only(bool)

用于确定IPv6套接字是否仅支持IPv6通信的套接字选项

boost::asio::socket_base::do_not_route(bool)

套接字选项可防止路由,仅使用本地接口

boost::asio::socket_base::enable_connection_aborted(bool)

套接字选项在接受时报告中止的连接

boost::asio::socket_base::keep_alive(bool)

套接字选项发送保持活动状态。

boost::asio::socket_base::linger(bool, int);

套接字选项,用于指定如果存在未发送的数据,则套接字是否在关闭时徘徊

boost::asio::socket_base::receive_buffer_size(int)

用于套接字的接收缓冲区大小的套接字选项

boost::asio::socket_base::send_buffer_size(int);

套接字的发送缓冲区大小的套接字选项

boost::asio::socket_base::receive_low_watermark(int)

接收低水位的套接字选项

boost::asio::socket_base::send_low_watermark(int);

发送低水印的套接字选项

boost::asio::socket_base::reuse_address(bool)

套接字选项,允许将套接字绑定到已经使用的地址

Table 2. TCP

选项

作用

boost::asio::ip::tcp::no_delay(bool)

套接字选项,用于禁用Nagle算法

boost::asio::socket_base::debug(bool)

套接字选项可启用套接字级别的调试

Table 3. UDP

选项

作用

boost::asio::socket_base::broadcast(bool)

套接字选项允许发送广播消息

boost::asio::ip::multicast::enable_loopback(bool)

套接字选项确定出站组播数据包是多播组的成员时,是否在同一套接字上接收到

boost::asio::ip::multicast::hops(int)

与传出多播数据包关联的生存时间的套接字选项

boost::asio::ip::multicast::join_group(boost::asio::ip::address)

用于在指定接口上加入多播组的套接字选项。

boost::asio::ip::multicast::leave_group(boost::asio::ip::address)

套接字选项可将多播组保留在指定接口上

boost::asio::ip::multicast::outbound_interface(boost::asio::ip::address)

本地接口的套接字选项可用于传出的多播数据包

boost::asio::ip::unicast::hops(int)

与传出单播数据包关联的生存时间的套接字选项

Last moify: 2022-12-04 15:11:33
Build time:2025-08-18 18:43:08
Powered By asphinx