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< 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>> 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