...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
typedef basic_stream_socket< tcp > socket;
Name |
Description |
---|---|
Rebinds the socket type to another executor. |
|
Socket option to permit sending of broadcast messages. |
|
IO control command to get the amount of data that can be read without blocking. |
|
Socket option to enable socket-level debugging. |
|
Socket option to prevent routing, use local interfaces only. |
|
Socket option to report aborted connections on accept. |
|
The endpoint type. |
|
The type of the executor associated with the object. |
|
Socket option to send keep-alives. |
|
Socket option to specify whether the socket lingers on close if unsent data is present. |
|
A basic_socket is always the lowest layer. |
|
Bitmask type for flags that can be passed to send and receive operations. |
|
The native representation of a socket. |
|
Socket option for putting received out-of-band data inline. |
|
The protocol type. |
|
Socket option for the receive buffer size of a socket. |
|
Socket option for the receive low watermark. |
|
Socket option to allow the socket to be bound to an address that is already in use. |
|
Socket option for the send buffer size of a socket. |
|
Socket option for the send low watermark. |
|
Different ways a socket may be shutdown. |
|
Wait types. |
Name |
Description |
---|---|
Assign an existing native socket to the socket. |
|
Start an asynchronous connect. |
|
Start an asynchronous read. |
|
Start an asynchronous receive. |
|
Start an asynchronous send. |
|
Asynchronously wait for the socket to become ready to read, ready to write, or to have pending error conditions. |
|
Start an asynchronous write. |
|
Determine whether the socket is at the out-of-band data mark. |
|
Determine the number of bytes available for reading. |
|
basic_stream_socket [constructor] |
Construct a basic_stream_socket without opening it. |
Bind the socket to the given local endpoint. |
|
Cancel all asynchronous operations associated with the socket. |
|
Close the socket. |
|
Connect the socket to the specified endpoint. |
|
Get the executor associated with the object. |
|
Get an option from the socket. |
|
Perform an IO control command on the socket. |
|
Determine whether the socket is open. |
|
Get the local endpoint of the socket. |
|
Get a reference to the lowest layer. |
|
Get the native socket representation. |
|
Gets the non-blocking mode of the native socket implementation.
|
|
Gets the non-blocking mode of the socket. |
|
Open the socket using the specified protocol. |
|
Move-assign a basic_stream_socket from another. |
|
Read some data from the socket. |
|
Receive some data on the socket. |
|
Release ownership of the underlying native socket. |
|
Get the remote endpoint of the socket. |
|
Send some data on the socket. |
|
Set an option on the socket. |
|
Disable sends or receives on the socket. |
|
Wait for the socket to become ready to read, ready to write, or to have pending error conditions. |
|
Write some data to the socket. |
|
~basic_stream_socket [destructor] |
Destroys the socket. |
Name |
Description |
---|---|
max_connections [static] |
(Deprecated: Use max_listen_connections.) The maximum length of the queue of pending incoming connections. |
max_listen_connections [static] |
The maximum length of the queue of pending incoming connections. |
message_do_not_route [static] |
Specify that the data should not be subject to routing. |
message_end_of_record [static] |
Specifies that the data marks the end of a record. |
message_out_of_band [static] |
Process out-of-band data. |
message_peek [static] |
Peek at incoming data without removing it from the input queue. |
The basic_stream_socket
class template
provides asynchronous and blocking stream-oriented socket functionality.
Distinct objects: Safe.
Shared objects: Unsafe.
Synchronous send
, receive
, connect
,
and shutdown
operations
are thread safe with respect to each other, if the underlying operating
system calls are also thread safe. This means that it is permitted to perform
concurrent calls to these synchronous operations on a single socket object.
Other synchronous operations, such as open
or close
, are not thread
safe.
Header: boost/asio/ip/tcp.hpp
Convenience header: boost/asio.hpp