<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>basic_socket</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="basic_serial_port/write_some/overload2.html" title="basic_serial_port::write_some (2 of 2 overloads)">
<link rel="next" href="basic_socket/assign.html" title="basic_socket::assign">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="basic_serial_port/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.basic_socket"></a><a class="link" href="basic_socket.html" title="basic_socket">basic_socket</a>
</h3></div></div></div>
<p>
        Provides socket functionality.
      </p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">typename</span> <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a><span class="special">,</span>
    <span class="keyword">typename</span> <a class="link" href="SocketService.html" title="Socket service requirements">SocketService</a><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">basic_socket</span> <span class="special">:</span>
  <span class="keyword">public</span> <span class="identifier">basic_io_object</span><span class="special">&lt;</span> <span class="identifier">SocketService</span> <span class="special">&gt;,</span>
  <span class="keyword">public</span> <span class="identifier">socket_base</span>
</pre>
<a name="boost_asio.reference.basic_socket.types"></a><h5>
<a name="id988652"></a>
        <a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.types">Types</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/broadcast.html" title="basic_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option to permit sending of broadcast messages.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/bytes_readable.html" title="basic_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  IO control command to get the amount of data that can be read without
                  blocking.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/debug.html" title="basic_socket::debug"><span class="bold"><strong>debug</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option to enable socket-level debugging.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/do_not_route.html" title="basic_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option to prevent routing, use local interfaces only.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/enable_connection_aborted.html" title="basic_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option to report aborted connections on accept.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/endpoint_type.html" title="basic_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The endpoint type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/implementation_type.html" title="basic_socket::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The underlying implementation type of I/O object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/keep_alive.html" title="basic_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option to send keep-alives.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/linger.html" title="basic_socket::linger"><span class="bold"><strong>linger</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option to specify whether the socket lingers on close if
                  unsent data is present.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/lowest_layer_type.html" title="basic_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  A basic_socket is always the lowest layer.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/message_flags.html" title="basic_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Bitmask type for flags that can be passed to send and receive operations.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/native_type.html" title="basic_socket::native_type"><span class="bold"><strong>native_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The native representation of a socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/non_blocking_io.html" title="basic_socket::non_blocking_io"><span class="bold"><strong>non_blocking_io</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  IO control command to set the blocking mode of the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/protocol_type.html" title="basic_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The protocol type.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/receive_buffer_size.html" title="basic_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option for the receive buffer size of a socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/receive_low_watermark.html" title="basic_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option for the receive low watermark.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/reuse_address.html" title="basic_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option to allow the socket to be bound to an address that
                  is already in use.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/send_buffer_size.html" title="basic_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option for the send buffer size of a socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/send_low_watermark.html" title="basic_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Socket option for the send low watermark.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/service_type.html" title="basic_socket::service_type"><span class="bold"><strong>service_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The type of the service that will be used to provide I/O operations.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/shutdown_type.html" title="basic_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Different ways a socket may be shutdown.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.basic_socket.member_functions"></a><h5>
<a name="id989314"></a>
        <a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.member_functions">Member
        Functions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/assign.html" title="basic_socket::assign"><span class="bold"><strong>assign</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Assign an existing native socket to the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/async_connect.html" title="basic_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Start an asynchronous connect.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/at_mark.html" title="basic_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Determine whether the socket is at the out-of-band data mark.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/available.html" title="basic_socket::available"><span class="bold"><strong>available</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Determine the number of bytes available for reading.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/basic_socket.html" title="basic_socket::basic_socket"><span class="bold"><strong>basic_socket</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a basic_socket without opening it.
                </p>
                <p>
                  Construct and open a basic_socket.
                </p>
                <p>
                  Construct a basic_socket, opening it and binding it to the given
                  local endpoint.
                </p>
                <p>
                  Construct a basic_socket on an existing native socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/bind.html" title="basic_socket::bind"><span class="bold"><strong>bind</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Bind the socket to the given local endpoint.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/cancel.html" title="basic_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Cancel all asynchronous operations associated with the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/close.html" title="basic_socket::close"><span class="bold"><strong>close</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Close the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/connect.html" title="basic_socket::connect"><span class="bold"><strong>connect</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Connect the socket to the specified endpoint.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/get_io_service.html" title="basic_socket::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the io_service associated with the object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/get_option.html" title="basic_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get an option from the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/io_control.html" title="basic_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Perform an IO control command on the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/io_service.html" title="basic_socket::io_service"><span class="bold"><strong>io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  (Deprecated: use get_io_service().) Get the io_service associated
                  with the object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/is_open.html" title="basic_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Determine whether the socket is open.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/local_endpoint.html" title="basic_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the local endpoint of the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/lowest_layer.html" title="basic_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get a reference to the lowest layer.
                </p>
                <p>
                  Get a const reference to the lowest layer.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/native.html" title="basic_socket::native"><span class="bold"><strong>native</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the native socket representation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/open.html" title="basic_socket::open"><span class="bold"><strong>open</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Open the socket using the specified protocol.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/remote_endpoint.html" title="basic_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the remote endpoint of the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/set_option.html" title="basic_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Set an option on the socket.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/shutdown.html" title="basic_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Disable sends or receives on the socket.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.basic_socket.protected_member_functions"></a><h5>
<a name="id989989"></a>
        <a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.protected_member_functions">Protected
        Member Functions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody><tr>
<td>
                <p>
                  <a class="link" href="basic_socket/_basic_socket.html" title="basic_socket::~basic_socket"><span class="bold"><strong>~basic_socket</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Protected destructor to prevent deletion through this type.
                </p>
              </td>
</tr></tbody>
</table></div>
<a name="boost_asio.reference.basic_socket.data_members"></a><h5>
<a name="id990074"></a>
        <a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.data_members">Data Members</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/max_connections.html" title="basic_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The maximum length of the queue of pending incoming connections.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/message_do_not_route.html" title="basic_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Specify that the data should not be subject to routing.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/message_out_of_band.html" title="basic_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Process out-of-band data.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/message_peek.html" title="basic_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Peek at incoming data without removing it from the input queue.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.basic_socket.protected_data_members"></a><h5>
<a name="id990245"></a>
        <a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.protected_data_members">Protected
        Data Members</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/implementation.html" title="basic_socket::implementation"><span class="bold"><strong>implementation</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The underlying implementation of the I/O object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="basic_socket/service.html" title="basic_socket::service"><span class="bold"><strong>service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The service associated with the I/O object.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<p>
        The <a class="link" href="basic_socket.html" title="basic_socket"><code class="computeroutput"><span class="identifier">basic_socket</span></code></a>
        class template provides functionality that is common to both stream-oriented
        and datagram-oriented sockets.
      </p>
<a name="boost_asio.reference.basic_socket.thread_safety"></a><h5>
<a name="id990380"></a>
        <a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.thread_safety">Thread Safety</a>
      </h5>
<p>
        <span class="bold"><strong>Distinct</strong></span> <span class="bold"><strong>objects:</strong></span>
        Safe.
      </p>
<p>
        <span class="bold"><strong>Shared</strong></span> <span class="bold"><strong>objects:</strong></span>
        Unsafe.
      </p>
<a name="boost_asio.reference.basic_socket.requirements"></a><h5>
<a name="id990431"></a>
        <a class="link" href="basic_socket.html#boost_asio.reference.basic_socket.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/basic_socket.hpp</code>
      </p>
<p>
        <span class="bold"><strong>Convenience header: </strong></span><code class="literal">boost/asio.hpp</code>
      </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003 - 2010 Christopher M. Kohlhoff<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="basic_serial_port/write_some/overload2.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="basic_socket/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
