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