...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The UNIX domain acceptor type.
typedef basic_socket_acceptor< stream_protocol > acceptor;
Name |
Description |
---|---|
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 underlying implementation type of I/O object. |
|
Socket option to send keep-alives. |
|
Socket option to specify whether the socket lingers on close if unsent data is present. |
|
Bitmask type for flags that can be passed to send and receive operations. |
|
The native representation of an acceptor. |
|
(Deprecated: Use native_handle_type.) The native representation of an acceptor. |
|
(Deprecated: Use non_blocking().) IO control command to set the blocking mode of the socket. |
|
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. |
|
The type of the service that will be used to provide I/O operations. |
|
Different ways a socket may be shutdown. |
Name |
Description |
---|---|
Accept a new connection. Accept a new connection and obtain the endpoint of the peer. |
|
Assigns an existing native acceptor to the acceptor. |
|
Start an asynchronous accept. |
|
Construct an acceptor without opening it. Construct an open acceptor. Construct an acceptor opened on the given endpoint. Construct a basic_socket_acceptor on an existing native acceptor. Move-construct a basic_socket_acceptor from another. Move-construct a basic_socket_acceptor from an acceptor of another protocol type. |
|
Bind the acceptor to the given local endpoint. |
|
Cancel all asynchronous operations associated with the acceptor. |
|
Close the acceptor. |
|
Get the io_service associated with the object. |
|
Get an option from the acceptor. |
|
Perform an IO control command on the acceptor. |
|
Determine whether the acceptor is open. |
|
Place the acceptor into the state where it will listen for new connections. |
|
Get the local endpoint of the acceptor. |
|
(Deprecated: Use native_handle().) Get the native acceptor representation. |
|
Get the native acceptor representation. |
|
Gets the non-blocking mode of the native acceptor implementation. Sets the non-blocking mode of the native acceptor implementation. |
|
Gets the non-blocking mode of the acceptor. Sets the non-blocking mode of the acceptor. |
|
Open the acceptor using the specified protocol. |
|
Move-assign a basic_socket_acceptor from another. Move-assign a basic_socket_acceptor from an acceptor of another protocol type. |
|
Set an option on the acceptor. |
Name |
Description |
---|---|
Get the underlying implementation of the I/O object. |
|
Get the service associated with the I/O object. |
Name |
Description |
---|---|
The maximum length of the queue of pending incoming connections. |
|
Specify that the data should not be subject to routing. |
|
Specifies that the data marks the end of a record. |
|
Process out-of-band data. |
|
Peek at incoming data without removing it from the input queue. |
Name |
Description |
---|---|
(Deprecated: Use get_implementation().) The underlying implementation of the I/O object. |
|
(Deprecated: Use get_service().) The service associated with the I/O object. |
The basic_socket_acceptor
class template
is used for accepting new socket connections.
Distinct objects: Safe.
Shared objects: Unsafe.
Opening a socket acceptor with the SO_REUSEADDR option enabled:
boost::asio::ip::tcp::acceptor acceptor(io_service); boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), port); acceptor.open(endpoint.protocol()); acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); acceptor.bind(endpoint); acceptor.listen();
Header: boost/asio/local/stream_protocol.hpp
Convenience header: boost/asio.hpp