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