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::ip::tcp::acceptor 在使用 async_accept 接收连接请求时终止应用程序