boost::asio-网络部分框架探索

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linfengmove/article/details/81223770

ASIO 网络相关部分类关系:

最上层的类basic_io_object提供了对各平台异步io框架的封装(win_iocp, linux_reactive_epoll),屏蔽了平台上的细节对外部暴露了两个重要接口:

1.get_service用于获取平台的服务(iocp,reactive的支持)

2.get_implementation操作资源的集合(socket句柄,本地地址,远程地址,协议类型等)

继承自他的所有类,都是通过这两个接口来调用本地服务的。

basic_socket中间层的作用,实际上是抽象了stream_socket(TCP),datagram_socket(UDP),raw_socket(IP)的共同接口部分:

open,assign,bind,connect,shutdown,close等等。这一层完全是为了封装共同接口。

第三层具体协议实现层:

basic_stream_socket实现了TCP协议的特有接口

basic_datagram_socket实现了UDP协议的特有接口

basic_raw_socket实现了IP协议的接口(ICMP等等)

猜你喜欢

转载自blog.csdn.net/linfengmove/article/details/81223770