在Boost.Asio
中提供了四种基本协议:
这四种基本协议代表这网络通信中四种基本方式:datagram、raw、sequenced packet、stream,对应关系分别为:
协议 | socket | 服务 |
---|---|---|
generic:datagram_protocol | basic_datagram_socket | datagram_socket_service |
generic:raw_protocol | basic_raw_socket | raw_socket_service |
generic:seq_packet_protocol | basic_seq_packet_socket | seq_packet_socket_service |
generic:stream_protocol | basic_stream_socket | stream_socket_service |
其中UDP的实现采用的是generic::datagram_protocol
;TCP的实现采用的是generic:stream_protocol
。
只要通信方式是这四种基本协议的,均可以通过扩展对应的protocol、endpoint、socket来实现类似于UDP/TCP的通信,在其基础上实现互联。
譬如打印机采用的为generic::raw_protocol
。