• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>basic_socket_acceptor</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="../reference.html" title="Reference">
9<link rel="prev" href="basic_socket__rebind_executor/other.html" title="basic_socket::rebind_executor::other">
10<link rel="next" href="basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept">
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="basic_socket__rebind_executor/other.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_acceptor/accept.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h3 class="title">
27<a name="boost_asio.reference.basic_socket_acceptor"></a><a class="link" href="basic_socket_acceptor.html" title="basic_socket_acceptor">basic_socket_acceptor</a>
28</h3></div></div></div>
29<p>
30        Provides the ability to accept new connections.
31      </p>
32<pre class="programlisting">template&lt;
33    typename <a class="link" href="Protocol.html" title="Protocol requirements">Protocol</a>,
34    typename <a class="link" href="Executor1.html" title="Executor requirements">Executor</a>&gt;
35class basic_socket_acceptor :
36  public socket_base
37</pre>
38<h5>
39<a name="boost_asio.reference.basic_socket_acceptor.h0"></a>
40        <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.types"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.types">Types</a>
41      </h5>
42<div class="informaltable"><table class="table">
43<colgroup>
44<col>
45<col>
46</colgroup>
47<thead><tr>
48<th>
49                <p>
50                  Name
51                </p>
52              </th>
53<th>
54                <p>
55                  Description
56                </p>
57              </th>
58</tr></thead>
59<tbody>
60<tr>
61<td>
62                <p>
63                  <a class="link" href="basic_socket_acceptor__rebind_executor.html" title="basic_socket_acceptor::rebind_executor"><span class="bold"><strong>rebind_executor</strong></span></a>
64                </p>
65              </td>
66<td>
67                <p>
68                  Rebinds the acceptor type to another executor.
69                </p>
70              </td>
71</tr>
72<tr>
73<td>
74                <p>
75                  <a class="link" href="basic_socket_acceptor/broadcast.html" title="basic_socket_acceptor::broadcast"><span class="bold"><strong>broadcast</strong></span></a>
76                </p>
77              </td>
78<td>
79                <p>
80                  Socket option to permit sending of broadcast messages.
81                </p>
82              </td>
83</tr>
84<tr>
85<td>
86                <p>
87                  <a class="link" href="basic_socket_acceptor/bytes_readable.html" title="basic_socket_acceptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
88                </p>
89              </td>
90<td>
91                <p>
92                  IO control command to get the amount of data that can be read without
93                  blocking.
94                </p>
95              </td>
96</tr>
97<tr>
98<td>
99                <p>
100                  <a class="link" href="basic_socket_acceptor/debug.html" title="basic_socket_acceptor::debug"><span class="bold"><strong>debug</strong></span></a>
101                </p>
102              </td>
103<td>
104                <p>
105                  Socket option to enable socket-level debugging.
106                </p>
107              </td>
108</tr>
109<tr>
110<td>
111                <p>
112                  <a class="link" href="basic_socket_acceptor/do_not_route.html" title="basic_socket_acceptor::do_not_route"><span class="bold"><strong>do_not_route</strong></span></a>
113                </p>
114              </td>
115<td>
116                <p>
117                  Socket option to prevent routing, use local interfaces only.
118                </p>
119              </td>
120</tr>
121<tr>
122<td>
123                <p>
124                  <a class="link" href="basic_socket_acceptor/enable_connection_aborted.html" title="basic_socket_acceptor::enable_connection_aborted"><span class="bold"><strong>enable_connection_aborted</strong></span></a>
125                </p>
126              </td>
127<td>
128                <p>
129                  Socket option to report aborted connections on accept.
130                </p>
131              </td>
132</tr>
133<tr>
134<td>
135                <p>
136                  <a class="link" href="basic_socket_acceptor/endpoint_type.html" title="basic_socket_acceptor::endpoint_type"><span class="bold"><strong>endpoint_type</strong></span></a>
137                </p>
138              </td>
139<td>
140                <p>
141                  The endpoint type.
142                </p>
143              </td>
144</tr>
145<tr>
146<td>
147                <p>
148                  <a class="link" href="basic_socket_acceptor/executor_type.html" title="basic_socket_acceptor::executor_type"><span class="bold"><strong>executor_type</strong></span></a>
149                </p>
150              </td>
151<td>
152                <p>
153                  The type of the executor associated with the object.
154                </p>
155              </td>
156</tr>
157<tr>
158<td>
159                <p>
160                  <a class="link" href="basic_socket_acceptor/keep_alive.html" title="basic_socket_acceptor::keep_alive"><span class="bold"><strong>keep_alive</strong></span></a>
161                </p>
162              </td>
163<td>
164                <p>
165                  Socket option to send keep-alives.
166                </p>
167              </td>
168</tr>
169<tr>
170<td>
171                <p>
172                  <a class="link" href="basic_socket_acceptor/linger.html" title="basic_socket_acceptor::linger"><span class="bold"><strong>linger</strong></span></a>
173                </p>
174              </td>
175<td>
176                <p>
177                  Socket option to specify whether the socket lingers on close if
178                  unsent data is present.
179                </p>
180              </td>
181</tr>
182<tr>
183<td>
184                <p>
185                  <a class="link" href="basic_socket_acceptor/message_flags.html" title="basic_socket_acceptor::message_flags"><span class="bold"><strong>message_flags</strong></span></a>
186                </p>
187              </td>
188<td>
189                <p>
190                  Bitmask type for flags that can be passed to send and receive operations.
191                </p>
192              </td>
193</tr>
194<tr>
195<td>
196                <p>
197                  <a class="link" href="basic_socket_acceptor/native_handle_type.html" title="basic_socket_acceptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
198                </p>
199              </td>
200<td>
201                <p>
202                  The native representation of an acceptor.
203                </p>
204              </td>
205</tr>
206<tr>
207<td>
208                <p>
209                  <a class="link" href="basic_socket_acceptor/out_of_band_inline.html" title="basic_socket_acceptor::out_of_band_inline"><span class="bold"><strong>out_of_band_inline</strong></span></a>
210                </p>
211              </td>
212<td>
213                <p>
214                  Socket option for putting received out-of-band data inline.
215                </p>
216              </td>
217</tr>
218<tr>
219<td>
220                <p>
221                  <a class="link" href="basic_socket_acceptor/protocol_type.html" title="basic_socket_acceptor::protocol_type"><span class="bold"><strong>protocol_type</strong></span></a>
222                </p>
223              </td>
224<td>
225                <p>
226                  The protocol type.
227                </p>
228              </td>
229</tr>
230<tr>
231<td>
232                <p>
233                  <a class="link" href="basic_socket_acceptor/receive_buffer_size.html" title="basic_socket_acceptor::receive_buffer_size"><span class="bold"><strong>receive_buffer_size</strong></span></a>
234                </p>
235              </td>
236<td>
237                <p>
238                  Socket option for the receive buffer size of a socket.
239                </p>
240              </td>
241</tr>
242<tr>
243<td>
244                <p>
245                  <a class="link" href="basic_socket_acceptor/receive_low_watermark.html" title="basic_socket_acceptor::receive_low_watermark"><span class="bold"><strong>receive_low_watermark</strong></span></a>
246                </p>
247              </td>
248<td>
249                <p>
250                  Socket option for the receive low watermark.
251                </p>
252              </td>
253</tr>
254<tr>
255<td>
256                <p>
257                  <a class="link" href="basic_socket_acceptor/reuse_address.html" title="basic_socket_acceptor::reuse_address"><span class="bold"><strong>reuse_address</strong></span></a>
258                </p>
259              </td>
260<td>
261                <p>
262                  Socket option to allow the socket to be bound to an address that
263                  is already in use.
264                </p>
265              </td>
266</tr>
267<tr>
268<td>
269                <p>
270                  <a class="link" href="basic_socket_acceptor/send_buffer_size.html" title="basic_socket_acceptor::send_buffer_size"><span class="bold"><strong>send_buffer_size</strong></span></a>
271                </p>
272              </td>
273<td>
274                <p>
275                  Socket option for the send buffer size of a socket.
276                </p>
277              </td>
278</tr>
279<tr>
280<td>
281                <p>
282                  <a class="link" href="basic_socket_acceptor/send_low_watermark.html" title="basic_socket_acceptor::send_low_watermark"><span class="bold"><strong>send_low_watermark</strong></span></a>
283                </p>
284              </td>
285<td>
286                <p>
287                  Socket option for the send low watermark.
288                </p>
289              </td>
290</tr>
291<tr>
292<td>
293                <p>
294                  <a class="link" href="basic_socket_acceptor/shutdown_type.html" title="basic_socket_acceptor::shutdown_type"><span class="bold"><strong>shutdown_type</strong></span></a>
295                </p>
296              </td>
297<td>
298                <p>
299                  Different ways a socket may be shutdown.
300                </p>
301              </td>
302</tr>
303<tr>
304<td>
305                <p>
306                  <a class="link" href="basic_socket_acceptor/wait_type.html" title="basic_socket_acceptor::wait_type"><span class="bold"><strong>wait_type</strong></span></a>
307                </p>
308              </td>
309<td>
310                <p>
311                  Wait types.
312                </p>
313              </td>
314</tr>
315</tbody>
316</table></div>
317<h5>
318<a name="boost_asio.reference.basic_socket_acceptor.h1"></a>
319        <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.member_functions"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.member_functions">Member
320        Functions</a>
321      </h5>
322<div class="informaltable"><table class="table">
323<colgroup>
324<col>
325<col>
326</colgroup>
327<thead><tr>
328<th>
329                <p>
330                  Name
331                </p>
332              </th>
333<th>
334                <p>
335                  Description
336                </p>
337              </th>
338</tr></thead>
339<tbody>
340<tr>
341<td>
342                <p>
343                  <a class="link" href="basic_socket_acceptor/accept.html" title="basic_socket_acceptor::accept"><span class="bold"><strong>accept</strong></span></a>
344                </p>
345              </td>
346<td>
347                <p>
348                  Accept a new connection. <br> <span class="silver"> —</span><br> Accept a new connection
349                  and obtain the endpoint of the peer.
350                </p>
351              </td>
352</tr>
353<tr>
354<td>
355                <p>
356                  <a class="link" href="basic_socket_acceptor/assign.html" title="basic_socket_acceptor::assign"><span class="bold"><strong>assign</strong></span></a>
357                </p>
358              </td>
359<td>
360                <p>
361                  Assigns an existing native acceptor to the acceptor.
362                </p>
363              </td>
364</tr>
365<tr>
366<td>
367                <p>
368                  <a class="link" href="basic_socket_acceptor/async_accept.html" title="basic_socket_acceptor::async_accept"><span class="bold"><strong>async_accept</strong></span></a>
369                </p>
370              </td>
371<td>
372                <p>
373                  Start an asynchronous accept.
374                </p>
375              </td>
376</tr>
377<tr>
378<td>
379                <p>
380                  <a class="link" href="basic_socket_acceptor/async_wait.html" title="basic_socket_acceptor::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
381                </p>
382              </td>
383<td>
384                <p>
385                  Asynchronously wait for the acceptor to become ready to read, ready
386                  to write, or to have pending error conditions.
387                </p>
388              </td>
389</tr>
390<tr>
391<td>
392                <p>
393                  <a class="link" href="basic_socket_acceptor/basic_socket_acceptor.html" title="basic_socket_acceptor::basic_socket_acceptor"><span class="bold"><strong>basic_socket_acceptor</strong></span></a> <span class="silver">[constructor]</span>
394                </p>
395              </td>
396<td>
397                <p>
398                  Construct an acceptor without opening it. <br> <span class="silver"> —</span><br> Construct
399                  an open acceptor. <br> <span class="silver"> —</span><br> Construct an acceptor opened on
400                  the given endpoint. <br> <span class="silver"> —</span><br> Construct a basic_socket_acceptor
401                  on an existing native acceptor. <br> <span class="silver"> —</span><br> Move-construct a
402                  basic_socket_acceptor from another. <br> <span class="silver"> —</span><br> Move-construct
403                  a basic_socket_acceptor from an acceptor of another protocol type.
404                </p>
405              </td>
406</tr>
407<tr>
408<td>
409                <p>
410                  <a class="link" href="basic_socket_acceptor/bind.html" title="basic_socket_acceptor::bind"><span class="bold"><strong>bind</strong></span></a>
411                </p>
412              </td>
413<td>
414                <p>
415                  Bind the acceptor to the given local endpoint.
416                </p>
417              </td>
418</tr>
419<tr>
420<td>
421                <p>
422                  <a class="link" href="basic_socket_acceptor/cancel.html" title="basic_socket_acceptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
423                </p>
424              </td>
425<td>
426                <p>
427                  Cancel all asynchronous operations associated with the acceptor.
428                </p>
429              </td>
430</tr>
431<tr>
432<td>
433                <p>
434                  <a class="link" href="basic_socket_acceptor/close.html" title="basic_socket_acceptor::close"><span class="bold"><strong>close</strong></span></a>
435                </p>
436              </td>
437<td>
438                <p>
439                  Close the acceptor.
440                </p>
441              </td>
442</tr>
443<tr>
444<td>
445                <p>
446                  <a class="link" href="basic_socket_acceptor/get_executor.html" title="basic_socket_acceptor::get_executor"><span class="bold"><strong>get_executor</strong></span></a>
447                </p>
448              </td>
449<td>
450                <p>
451                  Get the executor associated with the object.
452                </p>
453              </td>
454</tr>
455<tr>
456<td>
457                <p>
458                  <a class="link" href="basic_socket_acceptor/get_option.html" title="basic_socket_acceptor::get_option"><span class="bold"><strong>get_option</strong></span></a>
459                </p>
460              </td>
461<td>
462                <p>
463                  Get an option from the acceptor.
464                </p>
465              </td>
466</tr>
467<tr>
468<td>
469                <p>
470                  <a class="link" href="basic_socket_acceptor/io_control.html" title="basic_socket_acceptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
471                </p>
472              </td>
473<td>
474                <p>
475                  Perform an IO control command on the acceptor.
476                </p>
477              </td>
478</tr>
479<tr>
480<td>
481                <p>
482                  <a class="link" href="basic_socket_acceptor/is_open.html" title="basic_socket_acceptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
483                </p>
484              </td>
485<td>
486                <p>
487                  Determine whether the acceptor is open.
488                </p>
489              </td>
490</tr>
491<tr>
492<td>
493                <p>
494                  <a class="link" href="basic_socket_acceptor/listen.html" title="basic_socket_acceptor::listen"><span class="bold"><strong>listen</strong></span></a>
495                </p>
496              </td>
497<td>
498                <p>
499                  Place the acceptor into the state where it will listen for new
500                  connections.
501                </p>
502              </td>
503</tr>
504<tr>
505<td>
506                <p>
507                  <a class="link" href="basic_socket_acceptor/local_endpoint.html" title="basic_socket_acceptor::local_endpoint"><span class="bold"><strong>local_endpoint</strong></span></a>
508                </p>
509              </td>
510<td>
511                <p>
512                  Get the local endpoint of the acceptor.
513                </p>
514              </td>
515</tr>
516<tr>
517<td>
518                <p>
519                  <a class="link" href="basic_socket_acceptor/native_handle.html" title="basic_socket_acceptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
520                </p>
521              </td>
522<td>
523                <p>
524                  Get the native acceptor representation.
525                </p>
526              </td>
527</tr>
528<tr>
529<td>
530                <p>
531                  <a class="link" href="basic_socket_acceptor/native_non_blocking.html" title="basic_socket_acceptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
532                </p>
533              </td>
534<td>
535                <p>
536                  Gets the non-blocking mode of the native acceptor implementation.
537                  <br> <span class="silver"> —</span><br> Sets the non-blocking mode of the native acceptor
538                  implementation.
539                </p>
540              </td>
541</tr>
542<tr>
543<td>
544                <p>
545                  <a class="link" href="basic_socket_acceptor/non_blocking.html" title="basic_socket_acceptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
546                </p>
547              </td>
548<td>
549                <p>
550                  Gets the non-blocking mode of the acceptor. <br> <span class="silver"> —</span><br> Sets
551                  the non-blocking mode of the acceptor.
552                </p>
553              </td>
554</tr>
555<tr>
556<td>
557                <p>
558                  <a class="link" href="basic_socket_acceptor/open.html" title="basic_socket_acceptor::open"><span class="bold"><strong>open</strong></span></a>
559                </p>
560              </td>
561<td>
562                <p>
563                  Open the acceptor using the specified protocol.
564                </p>
565              </td>
566</tr>
567<tr>
568<td>
569                <p>
570                  <a class="link" href="basic_socket_acceptor/operator_eq_.html" title="basic_socket_acceptor::operator="><span class="bold"><strong>operator=</strong></span></a>
571                </p>
572              </td>
573<td>
574                <p>
575                  Move-assign a basic_socket_acceptor from another. <br> <span class="silver"> —</span><br>
576                  Move-assign a basic_socket_acceptor from an acceptor of another
577                  protocol type.
578                </p>
579              </td>
580</tr>
581<tr>
582<td>
583                <p>
584                  <a class="link" href="basic_socket_acceptor/release.html" title="basic_socket_acceptor::release"><span class="bold"><strong>release</strong></span></a>
585                </p>
586              </td>
587<td>
588                <p>
589                  Release ownership of the underlying native acceptor.
590                </p>
591              </td>
592</tr>
593<tr>
594<td>
595                <p>
596                  <a class="link" href="basic_socket_acceptor/set_option.html" title="basic_socket_acceptor::set_option"><span class="bold"><strong>set_option</strong></span></a>
597                </p>
598              </td>
599<td>
600                <p>
601                  Set an option on the acceptor.
602                </p>
603              </td>
604</tr>
605<tr>
606<td>
607                <p>
608                  <a class="link" href="basic_socket_acceptor/wait.html" title="basic_socket_acceptor::wait"><span class="bold"><strong>wait</strong></span></a>
609                </p>
610              </td>
611<td>
612                <p>
613                  Wait for the acceptor to become ready to read, ready to write,
614                  or to have pending error conditions.
615                </p>
616              </td>
617</tr>
618<tr>
619<td>
620                <p>
621                  <a class="link" href="basic_socket_acceptor/_basic_socket_acceptor.html" title="basic_socket_acceptor::~basic_socket_acceptor"><span class="bold"><strong>~basic_socket_acceptor</strong></span></a> <span class="silver">[destructor]</span>
622                </p>
623              </td>
624<td>
625                <p>
626                  Destroys the acceptor.
627                </p>
628              </td>
629</tr>
630</tbody>
631</table></div>
632<h5>
633<a name="boost_asio.reference.basic_socket_acceptor.h2"></a>
634        <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.data_members"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.data_members">Data Members</a>
635      </h5>
636<div class="informaltable"><table class="table">
637<colgroup>
638<col>
639<col>
640</colgroup>
641<thead><tr>
642<th>
643                <p>
644                  Name
645                </p>
646              </th>
647<th>
648                <p>
649                  Description
650                </p>
651              </th>
652</tr></thead>
653<tbody>
654<tr>
655<td>
656                <p>
657                  <a class="link" href="basic_socket_acceptor/max_connections.html" title="basic_socket_acceptor::max_connections"><span class="bold"><strong>max_connections</strong></span></a> <span class="silver">[static]</span>
658                </p>
659              </td>
660<td>
661                <p>
662                  (Deprecated: Use max_listen_connections.) The maximum length of
663                  the queue of pending incoming connections.
664                </p>
665              </td>
666</tr>
667<tr>
668<td>
669                <p>
670                  <a class="link" href="basic_socket_acceptor/max_listen_connections.html" title="basic_socket_acceptor::max_listen_connections"><span class="bold"><strong>max_listen_connections</strong></span></a> <span class="silver">[static]</span>
671                </p>
672              </td>
673<td>
674                <p>
675                  The maximum length of the queue of pending incoming connections.
676                </p>
677              </td>
678</tr>
679<tr>
680<td>
681                <p>
682                  <a class="link" href="basic_socket_acceptor/message_do_not_route.html" title="basic_socket_acceptor::message_do_not_route"><span class="bold"><strong>message_do_not_route</strong></span></a> <span class="silver">[static]</span>
683                </p>
684              </td>
685<td>
686                <p>
687                  Specify that the data should not be subject to routing.
688                </p>
689              </td>
690</tr>
691<tr>
692<td>
693                <p>
694                  <a class="link" href="basic_socket_acceptor/message_end_of_record.html" title="basic_socket_acceptor::message_end_of_record"><span class="bold"><strong>message_end_of_record</strong></span></a> <span class="silver">[static]</span>
695                </p>
696              </td>
697<td>
698                <p>
699                  Specifies that the data marks the end of a record.
700                </p>
701              </td>
702</tr>
703<tr>
704<td>
705                <p>
706                  <a class="link" href="basic_socket_acceptor/message_out_of_band.html" title="basic_socket_acceptor::message_out_of_band"><span class="bold"><strong>message_out_of_band</strong></span></a> <span class="silver">[static]</span>
707                </p>
708              </td>
709<td>
710                <p>
711                  Process out-of-band data.
712                </p>
713              </td>
714</tr>
715<tr>
716<td>
717                <p>
718                  <a class="link" href="basic_socket_acceptor/message_peek.html" title="basic_socket_acceptor::message_peek"><span class="bold"><strong>message_peek</strong></span></a> <span class="silver">[static]</span>
719                </p>
720              </td>
721<td>
722                <p>
723                  Peek at incoming data without removing it from the input queue.
724                </p>
725              </td>
726</tr>
727</tbody>
728</table></div>
729<p>
730        The <a class="link" href="basic_socket_acceptor.html" title="basic_socket_acceptor"><code class="computeroutput">basic_socket_acceptor</code></a>
731        class template is used for accepting new socket connections.
732      </p>
733<h5>
734<a name="boost_asio.reference.basic_socket_acceptor.h3"></a>
735        <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.thread_safety"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.thread_safety">Thread
736        Safety</a>
737      </h5>
738<p>
739        <span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
740      </p>
741<p>
742        <span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
743      </p>
744<h5>
745<a name="boost_asio.reference.basic_socket_acceptor.h4"></a>
746        <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.example"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.example">Example</a>
747      </h5>
748<p>
749        Opening a socket acceptor with the SO_REUSEADDR option enabled:
750      </p>
751<pre class="programlisting">boost::asio::ip::tcp::acceptor acceptor(my_context);
752boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), port);
753acceptor.open(endpoint.protocol());
754acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
755acceptor.bind(endpoint);
756acceptor.listen();
757</pre>
758<h5>
759<a name="boost_asio.reference.basic_socket_acceptor.h5"></a>
760        <span class="phrase"><a name="boost_asio.reference.basic_socket_acceptor.requirements"></a></span><a class="link" href="basic_socket_acceptor.html#boost_asio.reference.basic_socket_acceptor.requirements">Requirements</a>
761      </h5>
762<p>
763        <span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/basic_socket_acceptor.hpp</code>
764      </p>
765<p>
766        <span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
767      </p>
768</div>
769<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
770<td align="left"></td>
771<td align="right"><div class="copyright-footer">Copyright © 2003-2020 Christopher M.
772      Kohlhoff<p>
773        Distributed under the Boost Software License, Version 1.0. (See accompanying
774        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>)
775      </p>
776</div></td>
777</tr></table>
778<hr>
779<div class="spirit-nav">
780<a accesskey="p" href="basic_socket__rebind_executor/other.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_acceptor/accept.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
781</div>
782</body>
783</html>
784