Boost C++ 库

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

generic::raw_protocol::socket

通用的套接字类型。

typedef basic_raw_socket< raw_protocol > socket;
类型

名称

描述

rebind_executor

将套接字类型重新绑定到另一个执行器。

broadcast

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

bytes_readable

IO 控制命令,用于获取可以无阻塞读取的数据量。

debug

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

do_not_route

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

enable_connection_aborted

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

endpoint_type

端点类型。

executor_type

与对象关联的执行器的类型。

keep_alive

发送保持活动信号的套接字选项。

linger

套接字选项,用于指定如果存在未发送数据,套接字在关闭时是否延迟。

lowest_layer_type

basic_socket 始终是最低层。

message_flags

可传递给发送和接收操作的标志的位掩码类型。

native_handle_type

套接字的本机表示。

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

将现有的本机套接字分配给此套接字。

async_connect

启动异步连接。

async_receive

在已连接的套接字上启动异步接收。

async_receive_from

启动异步接收。

async_send

在已连接的套接字上启动异步发送。

async_send_to

启动异步发送。

async_wait

异步等待套接字变为可读、可写或具有待处理错误条件。

at_mark

确定套接字是否位于带外数据标记处。

available

确定可用于读取的字节数。

basic_raw_socket [构造函数]

构造一个 basic_raw_socket,但不打开它。

构造并打开一个 basic_raw_socket。

构造一个 basic_raw_socket,打开它并将其绑定到给定的本地端点。

在现有的本机套接字上构造一个 basic_raw_socket。

从另一个 basic_raw_socket 移动构造一个。

从另一种协议类型的套接字移动构造一个 basic_raw_socket。

bind

将套接字绑定到给定的本地端点。

cancel

取消与套接字关联的所有异步操作。

close

关闭套接字。

connect

将套接字连接到指定的端点。

get_executor

获取与对象关联的执行器。

get_option

从套接字获取一个选项。

io_control

在套接字上执行 IO 控制命令。

is_open

确定套接字是否已打开。

local_endpoint

获取套接字的本地端点。

lowest_layer

获取对最低层的引用。

获取对最低层的常量引用。

native_handle

获取本机套接字表示。

native_non_blocking

获取本机套接字实现的非阻塞模式。

设置本机套接字实现的非阻塞模式。

non_blocking

获取套接字的非阻塞模式。

设置套接字的非阻塞模式。

open

使用指定的协议打开套接字。

operator=

从另一个 basic_raw_socket 移动赋值。

从另一种协议类型的套接字移动赋值 basic_raw_socket。

receive

在已连接的套接字上接收一些数据。

receive_from

接收原始数据,包含发送者的端点。

release

释放底层本机套接字的所有权。

remote_endpoint

获取套接字的远程端点。

send

在已连接的套接字上发送一些数据。

send_to

将原始数据发送到指定的端点。

set_option

在套接字上设置一个选项。

shutdown

禁用套接字上的发送或接收。

wait

等待套接字变为可读、可写或具有待处理错误条件。

~basic_raw_socket [析构函数]

销毁套接字。

数据成员

名称

描述

max_listen_connections [静态]

待处理传入连接队列的最大长度。

message_do_not_route [静态]

指定数据不应受路由影响。

message_end_of_record [静态]

指定数据标记记录的结尾。

message_out_of_band [静态]

处理带外数据。

message_peek [静态]

查看传入数据,但不将其从输入队列中移除。

The basic_raw_socket 类模板提供异步和阻塞的面向原始套接字的功能。

线程安全

Distinct objects: 安全。

Shared objects: 不安全。

同步 send, send_to, receive, receive_from, connect, 和 shutdown 操作彼此之间是线程安全的,如果底层的操作系统调用也是线程安全的。这意味着允许在单个套接字对象上并发调用这些同步操作。其他同步操作,例如 openclose,不是线程安全的。

要求

Header: boost/asio/generic/raw_protocol.hpp

Convenience header: boost/asio.hpp


PrevUpHomeNext