ASIO 网络相关部分类关系:

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等等)

 

相关文章:

  • 2022-03-12
  • 2021-08-27
  • 2022-12-23
  • 2021-06-20
  • 2022-12-23
  • 2021-11-01
  • 2021-12-29
  • 2021-07-25
猜你喜欢
  • 2022-01-20
  • 2021-05-27
  • 2021-05-06
  • 2021-09-11
  • 2022-12-23
  • 2019-11-30
  • 2021-12-14
相关资源
相似解决方案