• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>ip::tcp::socket</title>
5<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="../../../boost_asio.html" title="Boost.Asio">
8<link rel="up" href="../ip__tcp.html" title="ip::tcp">
9<link rel="prev" href="resolver.html" title="ip::tcp::resolver">
10<link rel="next" href="type.html" title="ip::tcp::type">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%"><tr>
14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
15<td align="center"><a href="../../../../../index.html">Home</a></td>
16<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19<td align="center"><a href="../../../../../more/index.htm">More</a></td>
20</tr></table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.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="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h4 class="title">
27<a name="boost_asio.reference.ip__tcp.socket"></a><a class="link" href="socket.html" title="ip::tcp::socket">ip::tcp::socket</a>
28</h4></div></div></div>
29<p>
30          <a class="indexterm" name="boost_asio.indexterm.ip__tcp.socket"></a>
31The TCP socket type.
32        </p>
33<pre class="programlisting">typedef basic_stream_socket&lt; tcp &gt; socket;
34</pre>
35<h6>
36<a name="boost_asio.reference.ip__tcp.socket.h0"></a>
37          <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.types"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.types">Types</a>
38        </h6>
39<div class="informaltable"><table class="table">
40<colgroup>
41<col>
42<col>
43</colgroup>
44<thead><tr>
45<th>
46                  <p>
47                    Name
48                  </p>
49                </th>
50<th>
51                  <p>
52                    Description
53                  </p>
54                </th>
55</tr></thead>
56<tbody>
57<tr>
58<td>
59                  <p>
60                    <a class="link" href="../basic_stream_socket__rebind_executor.html" title="basic_stream_socket::rebind_executor"><span class="bold"><strong>rebind_executor</strong></span></a>
61                  </p>
62                </td>
63<td>
64                  <p>
65                    Rebinds the socket type to another executor.
66                  </p>
67                </td>
68</tr>
69<tr>
70<td>
71                  <p>
72                    <a class="link" href="../basic_stream_socket/broadcast.html" title="basic_stream_socket::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
73                  </p>
74                </td>
75<td>
76                  <p>
77                    Socket option to permit sending of broadcast messages.
78                  </p>
79                </td>
80</tr>
81<tr>
82<td>
83                  <p>
84                    <a class="link" href="../basic_stream_socket/bytes_readable.html" title="basic_stream_socket::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
85                  </p>
86                </td>
87<td>
88                  <p>
89                    IO control command to get the amount of data that can be read
90                    without blocking.
91                  </p>
92                </td>
93</tr>
94<tr>
95<td>
96                  <p>
97                    <a class="link" href="../basic_stream_socket/debug.html" title="basic_stream_socket::debug"><span class="bold"><strong>debug</strong></span></a>
98                  </p>
99                </td>
100<td>
101                  <p>
102                    Socket option to enable socket-level debugging.
103                  </p>
104                </td>
105</tr>
106<tr>
107<td>
108                  <p>
109                    <a class="link" href="../basic_stream_socket/do_not_route.html" title="basic_stream_socket::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
110                  </p>
111                </td>
112<td>
113                  <p>
114                    Socket option to prevent routing, use local interfaces only.
115                  </p>
116                </td>
117</tr>
118<tr>
119<td>
120                  <p>
121                    <a class="link" href="../basic_stream_socket/enable_connection_aborted.html" title="basic_stream_socket::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
122                  </p>
123                </td>
124<td>
125                  <p>
126                    Socket option to report aborted connections on accept.
127                  </p>
128                </td>
129</tr>
130<tr>
131<td>
132                  <p>
133                    <a class="link" href="../basic_stream_socket/endpoint_type.html" title="basic_stream_socket::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
134                  </p>
135                </td>
136<td>
137                  <p>
138                    The endpoint type.
139                  </p>
140                </td>
141</tr>
142<tr>
143<td>
144                  <p>
145                    <a class="link" href="../basic_stream_socket/executor_type.html" title="basic_stream_socket::executor_type"><span class="bold"><strong>executor_type</strong></span></a>
146                  </p>
147                </td>
148<td>
149                  <p>
150                    The type of the executor associated with the object.
151                  </p>
152                </td>
153</tr>
154<tr>
155<td>
156                  <p>
157                    <a class="link" href="../basic_stream_socket/keep_alive.html" title="basic_stream_socket::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
158                  </p>
159                </td>
160<td>
161                  <p>
162                    Socket option to send keep-alives.
163                  </p>
164                </td>
165</tr>
166<tr>
167<td>
168                  <p>
169                    <a class="link" href="../basic_stream_socket/linger.html" title="basic_stream_socket::linger"><span class="bold"><strong>linger</strong></span></a>
170                  </p>
171                </td>
172<td>
173                  <p>
174                    Socket option to specify whether the socket lingers on close
175                    if unsent data is present.
176                  </p>
177                </td>
178</tr>
179<tr>
180<td>
181                  <p>
182                    <a class="link" href="../basic_stream_socket/lowest_layer_type.html" title="basic_stream_socket::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
183                  </p>
184                </td>
185<td>
186                  <p>
187                    A basic_socket is always the lowest layer.
188                  </p>
189                </td>
190</tr>
191<tr>
192<td>
193                  <p>
194                    <a class="link" href="../basic_stream_socket/message_flags.html" title="basic_stream_socket::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
195                  </p>
196                </td>
197<td>
198                  <p>
199                    Bitmask type for flags that can be passed to send and receive
200                    operations.
201                  </p>
202                </td>
203</tr>
204<tr>
205<td>
206                  <p>
207                    <a class="link" href="../basic_stream_socket/native_handle_type.html" title="basic_stream_socket::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
208                  </p>
209                </td>
210<td>
211                  <p>
212                    The native representation of a socket.
213                  </p>
214                </td>
215</tr>
216<tr>
217<td>
218                  <p>
219                    <a class="link" href="../basic_stream_socket/out_of_band_inline.html" title="basic_stream_socket::out_of_band_inline"><span class="bold"><strong>out_of_band_inline</strong></span></a>
220                  </p>
221                </td>
222<td>
223                  <p>
224                    Socket option for putting received out-of-band data inline.
225                  </p>
226                </td>
227</tr>
228<tr>
229<td>
230                  <p>
231                    <a class="link" href="../basic_stream_socket/protocol_type.html" title="basic_stream_socket::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
232                  </p>
233                </td>
234<td>
235                  <p>
236                    The protocol type.
237                  </p>
238                </td>
239</tr>
240<tr>
241<td>
242                  <p>
243                    <a class="link" href="../basic_stream_socket/receive_buffer_size.html" title="basic_stream_socket::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
244                  </p>
245                </td>
246<td>
247                  <p>
248                    Socket option for the receive buffer size of a socket.
249                  </p>
250                </td>
251</tr>
252<tr>
253<td>
254                  <p>
255                    <a class="link" href="../basic_stream_socket/receive_low_watermark.html" title="basic_stream_socket::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
256                  </p>
257                </td>
258<td>
259                  <p>
260                    Socket option for the receive low watermark.
261                  </p>
262                </td>
263</tr>
264<tr>
265<td>
266                  <p>
267                    <a class="link" href="../basic_stream_socket/reuse_address.html" title="basic_stream_socket::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
268                  </p>
269                </td>
270<td>
271                  <p>
272                    Socket option to allow the socket to be bound to an address that
273                    is already in use.
274                  </p>
275                </td>
276</tr>
277<tr>
278<td>
279                  <p>
280                    <a class="link" href="../basic_stream_socket/send_buffer_size.html" title="basic_stream_socket::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
281                  </p>
282                </td>
283<td>
284                  <p>
285                    Socket option for the send buffer size of a socket.
286                  </p>
287                </td>
288</tr>
289<tr>
290<td>
291                  <p>
292                    <a class="link" href="../basic_stream_socket/send_low_watermark.html" title="basic_stream_socket::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
293                  </p>
294                </td>
295<td>
296                  <p>
297                    Socket option for the send low watermark.
298                  </p>
299                </td>
300</tr>
301<tr>
302<td>
303                  <p>
304                    <a class="link" href="../basic_stream_socket/shutdown_type.html" title="basic_stream_socket::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
305                  </p>
306                </td>
307<td>
308                  <p>
309                    Different ways a socket may be shutdown.
310                  </p>
311                </td>
312</tr>
313<tr>
314<td>
315                  <p>
316                    <a class="link" href="../basic_stream_socket/wait_type.html" title="basic_stream_socket::wait_type"><span class="bold"><strong>wait_type</strong></span></a>
317                  </p>
318                </td>
319<td>
320                  <p>
321                    Wait types.
322                  </p>
323                </td>
324</tr>
325</tbody>
326</table></div>
327<h6>
328<a name="boost_asio.reference.ip__tcp.socket.h1"></a>
329          <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.member_functions"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.member_functions">Member Functions</a>
330        </h6>
331<div class="informaltable"><table class="table">
332<colgroup>
333<col>
334<col>
335</colgroup>
336<thead><tr>
337<th>
338                  <p>
339                    Name
340                  </p>
341                </th>
342<th>
343                  <p>
344                    Description
345                  </p>
346                </th>
347</tr></thead>
348<tbody>
349<tr>
350<td>
351                  <p>
352                    <a class="link" href="../basic_stream_socket/assign.html" title="basic_stream_socket::assign"><span class="bold"><strong>assign</strong></span></a>
353                  </p>
354                </td>
355<td>
356                  <p>
357                    Assign an existing native socket to the socket.
358                  </p>
359                </td>
360</tr>
361<tr>
362<td>
363                  <p>
364                    <a class="link" href="../basic_stream_socket/async_connect.html" title="basic_stream_socket::async_connect"><span class="bold"><strong>async_connect</strong></span></a>
365                  </p>
366                </td>
367<td>
368                  <p>
369                    Start an asynchronous connect.
370                  </p>
371                </td>
372</tr>
373<tr>
374<td>
375                  <p>
376                    <a class="link" href="../basic_stream_socket/async_read_some.html" title="basic_stream_socket::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
377                  </p>
378                </td>
379<td>
380                  <p>
381                    Start an asynchronous read.
382                  </p>
383                </td>
384</tr>
385<tr>
386<td>
387                  <p>
388                    <a class="link" href="../basic_stream_socket/async_receive.html" title="basic_stream_socket::async_receive"><span class="bold"><strong>async_receive</strong></span></a>
389                  </p>
390                </td>
391<td>
392                  <p>
393                    Start an asynchronous receive.
394                  </p>
395                </td>
396</tr>
397<tr>
398<td>
399                  <p>
400                    <a class="link" href="../basic_stream_socket/async_send.html" title="basic_stream_socket::async_send"><span class="bold"><strong>async_send</strong></span></a>
401                  </p>
402                </td>
403<td>
404                  <p>
405                    Start an asynchronous send.
406                  </p>
407                </td>
408</tr>
409<tr>
410<td>
411                  <p>
412                    <a class="link" href="../basic_stream_socket/async_wait.html" title="basic_stream_socket::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
413                  </p>
414                </td>
415<td>
416                  <p>
417                    Asynchronously wait for the socket to become ready to read, ready
418                    to write, or to have pending error conditions.
419                  </p>
420                </td>
421</tr>
422<tr>
423<td>
424                  <p>
425                    <a class="link" href="../basic_stream_socket/async_write_some.html" title="basic_stream_socket::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
426                  </p>
427                </td>
428<td>
429                  <p>
430                    Start an asynchronous write.
431                  </p>
432                </td>
433</tr>
434<tr>
435<td>
436                  <p>
437                    <a class="link" href="../basic_stream_socket/at_mark.html" title="basic_stream_socket::at_mark"><span class="bold"><strong>at_mark</strong></span></a>
438                  </p>
439                </td>
440<td>
441                  <p>
442                    Determine whether the socket is at the out-of-band data mark.
443                  </p>
444                </td>
445</tr>
446<tr>
447<td>
448                  <p>
449                    <a class="link" href="../basic_stream_socket/available.html" title="basic_stream_socket::available"><span class="bold"><strong>available</strong></span></a>
450                  </p>
451                </td>
452<td>
453                  <p>
454                    Determine the number of bytes available for reading.
455                  </p>
456                </td>
457</tr>
458<tr>
459<td>
460                  <p>
461                    <a class="link" href="../basic_stream_socket/basic_stream_socket.html" title="basic_stream_socket::basic_stream_socket"><span class="bold"><strong>basic_stream_socket</strong></span></a> <span class="silver">[constructor]</span>
462                  </p>
463                </td>
464<td>
465                  <p>
466                    Construct a basic_stream_socket without opening it. <br> <span class="silver"> —</span><br>
467                    Construct and open a basic_stream_socket. <br> <span class="silver"> —</span><br> Construct
468                    a basic_stream_socket, opening it and binding it to the given
469                    local endpoint. <br> <span class="silver"> —</span><br> Construct a basic_stream_socket
470                    on an existing native socket. <br> <span class="silver"> —</span><br> Move-construct a
471                    basic_stream_socket from another. <br> <span class="silver"> —</span><br> Move-construct
472                    a basic_stream_socket from a socket of another protocol type.
473                  </p>
474                </td>
475</tr>
476<tr>
477<td>
478                  <p>
479                    <a class="link" href="../basic_stream_socket/bind.html" title="basic_stream_socket::bind"><span class="bold"><strong>bind</strong></span></a>
480                  </p>
481                </td>
482<td>
483                  <p>
484                    Bind the socket to the given local endpoint.
485                  </p>
486                </td>
487</tr>
488<tr>
489<td>
490                  <p>
491                    <a class="link" href="../basic_stream_socket/cancel.html" title="basic_stream_socket::cancel"><span class="bold"><strong>cancel</strong></span></a>
492                  </p>
493                </td>
494<td>
495                  <p>
496                    Cancel all asynchronous operations associated with the socket.
497                  </p>
498                </td>
499</tr>
500<tr>
501<td>
502                  <p>
503                    <a class="link" href="../basic_stream_socket/close.html" title="basic_stream_socket::close"><span class="bold"><strong>close</strong></span></a>
504                  </p>
505                </td>
506<td>
507                  <p>
508                    Close the socket.
509                  </p>
510                </td>
511</tr>
512<tr>
513<td>
514                  <p>
515                    <a class="link" href="../basic_stream_socket/connect.html" title="basic_stream_socket::connect"><span class="bold"><strong>connect</strong></span></a>
516                  </p>
517                </td>
518<td>
519                  <p>
520                    Connect the socket to the specified endpoint.
521                  </p>
522                </td>
523</tr>
524<tr>
525<td>
526                  <p>
527                    <a class="link" href="../basic_stream_socket/get_executor.html" title="basic_stream_socket::get_executor"><span class="bold"><strong>get_executor</strong></span></a>
528                  </p>
529                </td>
530<td>
531                  <p>
532                    Get the executor associated with the object.
533                  </p>
534                </td>
535</tr>
536<tr>
537<td>
538                  <p>
539                    <a class="link" href="../basic_stream_socket/get_option.html" title="basic_stream_socket::get_option"><span class="bold"><strong>get_option</strong></span></a>
540                  </p>
541                </td>
542<td>
543                  <p>
544                    Get an option from the socket.
545                  </p>
546                </td>
547</tr>
548<tr>
549<td>
550                  <p>
551                    <a class="link" href="../basic_stream_socket/io_control.html" title="basic_stream_socket::io_control"><span class="bold"><strong>io_control</strong></span></a>
552                  </p>
553                </td>
554<td>
555                  <p>
556                    Perform an IO control command on the socket.
557                  </p>
558                </td>
559</tr>
560<tr>
561<td>
562                  <p>
563                    <a class="link" href="../basic_stream_socket/is_open.html" title="basic_stream_socket::is_open"><span class="bold"><strong>is_open</strong></span></a>
564                  </p>
565                </td>
566<td>
567                  <p>
568                    Determine whether the socket is open.
569                  </p>
570                </td>
571</tr>
572<tr>
573<td>
574                  <p>
575                    <a class="link" href="../basic_stream_socket/local_endpoint.html" title="basic_stream_socket::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
576                  </p>
577                </td>
578<td>
579                  <p>
580                    Get the local endpoint of the socket.
581                  </p>
582                </td>
583</tr>
584<tr>
585<td>
586                  <p>
587                    <a class="link" href="../basic_stream_socket/lowest_layer.html" title="basic_stream_socket::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
588                  </p>
589                </td>
590<td>
591                  <p>
592                    Get a reference to the lowest layer. <br> <span class="silver"> —</span><br> Get a const
593                    reference to the lowest layer.
594                  </p>
595                </td>
596</tr>
597<tr>
598<td>
599                  <p>
600                    <a class="link" href="../basic_stream_socket/native_handle.html" title="basic_stream_socket::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
601                  </p>
602                </td>
603<td>
604                  <p>
605                    Get the native socket representation.
606                  </p>
607                </td>
608</tr>
609<tr>
610<td>
611                  <p>
612                    <a class="link" href="../basic_stream_socket/native_non_blocking.html" title="basic_stream_socket::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
613                  </p>
614                </td>
615<td>
616                  <p>
617                    Gets the non-blocking mode of the native socket implementation.
618                    <br> <span class="silver"> —</span><br> Sets the non-blocking mode of the native socket
619                    implementation.
620                  </p>
621                </td>
622</tr>
623<tr>
624<td>
625                  <p>
626                    <a class="link" href="../basic_stream_socket/non_blocking.html" title="basic_stream_socket::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
627                  </p>
628                </td>
629<td>
630                  <p>
631                    Gets the non-blocking mode of the socket. <br> <span class="silver"> —</span><br> Sets
632                    the non-blocking mode of the socket.
633                  </p>
634                </td>
635</tr>
636<tr>
637<td>
638                  <p>
639                    <a class="link" href="../basic_stream_socket/open.html" title="basic_stream_socket::open"><span class="bold"><strong>open</strong></span></a>
640                  </p>
641                </td>
642<td>
643                  <p>
644                    Open the socket using the specified protocol.
645                  </p>
646                </td>
647</tr>
648<tr>
649<td>
650                  <p>
651                    <a class="link" href="../basic_stream_socket/operator_eq_.html" title="basic_stream_socket::operator="><span class="bold"><strong>operator=</strong></span></a>
652                  </p>
653                </td>
654<td>
655                  <p>
656                    Move-assign a basic_stream_socket from another. <br> <span class="silver"> —</span><br>
657                    Move-assign a basic_stream_socket from a socket of another protocol
658                    type.
659                  </p>
660                </td>
661</tr>
662<tr>
663<td>
664                  <p>
665                    <a class="link" href="../basic_stream_socket/read_some.html" title="basic_stream_socket::read_some"><span class="bold"><strong>read_some</strong></span></a>
666                  </p>
667                </td>
668<td>
669                  <p>
670                    Read some data from the socket.
671                  </p>
672                </td>
673</tr>
674<tr>
675<td>
676                  <p>
677                    <a class="link" href="../basic_stream_socket/receive.html" title="basic_stream_socket::receive"><span class="bold"><strong>receive</strong></span></a>
678                  </p>
679                </td>
680<td>
681                  <p>
682                    Receive some data on the socket. <br> <span class="silver"> —</span><br> Receive some data
683                    on a connected socket.
684                  </p>
685                </td>
686</tr>
687<tr>
688<td>
689                  <p>
690                    <a class="link" href="../basic_stream_socket/release.html" title="basic_stream_socket::release"><span class="bold"><strong>release</strong></span></a>
691                  </p>
692                </td>
693<td>
694                  <p>
695                    Release ownership of the underlying native socket.
696                  </p>
697                </td>
698</tr>
699<tr>
700<td>
701                  <p>
702                    <a class="link" href="../basic_stream_socket/remote_endpoint.html" title="basic_stream_socket::remote_endpoint"><span class="bold"><strong>remote_endpoint</strong></span></a>
703                  </p>
704                </td>
705<td>
706                  <p>
707                    Get the remote endpoint of the socket.
708                  </p>
709                </td>
710</tr>
711<tr>
712<td>
713                  <p>
714                    <a class="link" href="../basic_stream_socket/send.html" title="basic_stream_socket::send"><span class="bold"><strong>send</strong></span></a>
715                  </p>
716                </td>
717<td>
718                  <p>
719                    Send some data on the socket.
720                  </p>
721                </td>
722</tr>
723<tr>
724<td>
725                  <p>
726                    <a class="link" href="../basic_stream_socket/set_option.html" title="basic_stream_socket::set_option"><span class="bold"><strong>set_option</strong></span></a>
727                  </p>
728                </td>
729<td>
730                  <p>
731                    Set an option on the socket.
732                  </p>
733                </td>
734</tr>
735<tr>
736<td>
737                  <p>
738                    <a class="link" href="../basic_stream_socket/shutdown.html" title="basic_stream_socket::shutdown"><span class="bold"><strong>shutdown</strong></span></a>
739                  </p>
740                </td>
741<td>
742                  <p>
743                    Disable sends or receives on the socket.
744                  </p>
745                </td>
746</tr>
747<tr>
748<td>
749                  <p>
750                    <a class="link" href="../basic_stream_socket/wait.html" title="basic_stream_socket::wait"><span class="bold"><strong>wait</strong></span></a>
751                  </p>
752                </td>
753<td>
754                  <p>
755                    Wait for the socket to become ready to read, ready to write,
756                    or to have pending error conditions.
757                  </p>
758                </td>
759</tr>
760<tr>
761<td>
762                  <p>
763                    <a class="link" href="../basic_stream_socket/write_some.html" title="basic_stream_socket::write_some"><span class="bold"><strong>write_some</strong></span></a>
764                  </p>
765                </td>
766<td>
767                  <p>
768                    Write some data to the socket.
769                  </p>
770                </td>
771</tr>
772<tr>
773<td>
774                  <p>
775                    <a class="link" href="../basic_stream_socket/_basic_stream_socket.html" title="basic_stream_socket::~basic_stream_socket"><span class="bold"><strong>~basic_stream_socket</strong></span></a> <span class="silver">[destructor]</span>
776                  </p>
777                </td>
778<td>
779                  <p>
780                    Destroys the socket.
781                  </p>
782                </td>
783</tr>
784</tbody>
785</table></div>
786<h6>
787<a name="boost_asio.reference.ip__tcp.socket.h2"></a>
788          <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.data_members"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.data_members">Data
789          Members</a>
790        </h6>
791<div class="informaltable"><table class="table">
792<colgroup>
793<col>
794<col>
795</colgroup>
796<thead><tr>
797<th>
798                  <p>
799                    Name
800                  </p>
801                </th>
802<th>
803                  <p>
804                    Description
805                  </p>
806                </th>
807</tr></thead>
808<tbody>
809<tr>
810<td>
811                  <p>
812                    <a class="link" href="../basic_stream_socket/max_connections.html" title="basic_stream_socket::max_connections"><span class="bold"><strong>max_connections</strong></span></a> <span class="silver">[static]</span>
813                  </p>
814                </td>
815<td>
816                  <p>
817                    (Deprecated: Use max_listen_connections.) The maximum length
818                    of the queue of pending incoming connections.
819                  </p>
820                </td>
821</tr>
822<tr>
823<td>
824                  <p>
825                    <a class="link" href="../basic_stream_socket/max_listen_connections.html" title="basic_stream_socket::max_listen_connections"><span class="bold"><strong>max_listen_connections</strong></span></a> <span class="silver">[static]</span>
826                  </p>
827                </td>
828<td>
829                  <p>
830                    The maximum length of the queue of pending incoming connections.
831                  </p>
832                </td>
833</tr>
834<tr>
835<td>
836                  <p>
837                    <a class="link" href="../basic_stream_socket/message_do_not_route.html" title="basic_stream_socket::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a> <span class="silver">[static]</span>
838                  </p>
839                </td>
840<td>
841                  <p>
842                    Specify that the data should not be subject to routing.
843                  </p>
844                </td>
845</tr>
846<tr>
847<td>
848                  <p>
849                    <a class="link" href="../basic_stream_socket/message_end_of_record.html" title="basic_stream_socket::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a> <span class="silver">[static]</span>
850                  </p>
851                </td>
852<td>
853                  <p>
854                    Specifies that the data marks the end of a record.
855                  </p>
856                </td>
857</tr>
858<tr>
859<td>
860                  <p>
861                    <a class="link" href="../basic_stream_socket/message_out_of_band.html" title="basic_stream_socket::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a> <span class="silver">[static]</span>
862                  </p>
863                </td>
864<td>
865                  <p>
866                    Process out-of-band data.
867                  </p>
868                </td>
869</tr>
870<tr>
871<td>
872                  <p>
873                    <a class="link" href="../basic_stream_socket/message_peek.html" title="basic_stream_socket::message_peek"><span class="bold"><strong>message_peek</strong></span></a> <span class="silver">[static]</span>
874                  </p>
875                </td>
876<td>
877                  <p>
878                    Peek at incoming data without removing it from the input queue.
879                  </p>
880                </td>
881</tr>
882</tbody>
883</table></div>
884<p>
885          The <a class="link" href="../basic_stream_socket.html" title="basic_stream_socket"><code class="computeroutput">basic_stream_socket</code></a>
886          class template provides asynchronous and blocking stream-oriented socket
887          functionality.
888        </p>
889<h6>
890<a name="boost_asio.reference.ip__tcp.socket.h3"></a>
891          <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.thread_safety"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.thread_safety">Thread
892          Safety</a>
893        </h6>
894<p>
895          <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
896        </p>
897<p>
898          <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
899        </p>
900<h6>
901<a name="boost_asio.reference.ip__tcp.socket.h4"></a>
902          <span class="phrase"><a name="boost_asio.reference.ip__tcp.socket.requirements"></a></span><a class="link" href="socket.html#boost_asio.reference.ip__tcp.socket.requirements">Requirements</a>
903        </h6>
904<p>
905          <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/ip/tcp.hpp</code>
906        </p>
907<p>
908          <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
909        </p>
910</div>
911<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
912<td align="left"></td>
913<td align="right"><div class="copyright-footer">Copyright © 2003-2020 Christopher M.
914      Kohlhoff<p>
915        Distributed under the Boost Software License, Version 1.0. (See accompanying
916        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>)
917      </p>
918</div></td>
919</tr></table>
920<hr>
921<div class="spirit-nav">
922<a accesskey="p" href="resolver.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ip__tcp.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="type.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
923</div>
924</body>
925</html>
926