Boost Asio总结(5)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没有被关闭,则其析构时也会自动关闭。

猜你喜欢

转载自blog.csdn.net/thefist11cc/article/details/123563801