Boost Asio总结class tcp

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Boost Asio总结class tcp相关的知识,希望对你有一定的参考价值。

1.

class tcp

public:
  /// The type of a TCP endpoint.端点类
  typedef basic_endpoint<tcp> endpoint;
  /// The TCP socket type.套接字类
  typedef basic_stream_socket<tcp> socket;
  /// The TCP acceptor type.接收器
  typedef basic_socket_acceptor<tcp> acceptor;
  /// The TCP resolver type.解析器
  typedef basic_resolver<tcp> resolver;
  /// The TCP iostream type.流类
  typedef basic_socket_iostream<tcp> iostream;
  /// ......
;

1.1

. endpoint 等等封装了socket的连接、断开、数据收发和地址解析等功能。
. acceptor对应Socket API的accept()函数,用于服务器端。acceptor可以像传统socket API一样使用,open()打开端口,bind()绑定再用listen()侦听端口,但更方便的是使用它的构造函数,传入endpoint直接完成这三个动作。

1.2

step1. socket在构造时指定使用的协议或者endpoint(endpoint包含IP地址和通信用的端口号)
step2. 调用成员函数connect()。连接成功后可以用local_endpoint()和remote_endpoint()获得连接两端的端点信息,用available()获取可读取的字节数
step3. 用receive()/read_some()和send()/write_some()读写数据,
step4. 当操作完成后使用close()函数关闭socket。如果socket没有被关闭,则其析构时也会自动关闭。

以上是关于Boost Asio总结class tcp的主要内容,如果未能解决你的问题,请参考以下文章

boost asio 学习 网络基础 连接器和接收器(TCP示例)

Boost Asio总结class address

boost::asio::ip::tcp::acceptor 在使用 async_accept 接收连接请求时终止应用程序

Boost::asio - 如何中断阻塞的 tcp 服务器线程?

Boost Asio总结概述

Boost Asio总结(16)同步通信例子