c++ sockets tcp network-programming boost-asio

c++ - Aumente el tipo de Asio para utilizar tanto para socket unix-socket como para tcp



sockets network-programming (1)

Tenemos un código de red basado en Asio boost, que se conecta a un lado remoto. El lado local podría ser un zócalo tcp4 o un zócalo unix.

¿Hay un nombre de tipo para usar que pueda contener ambos tipos de sockets de refuerzo? (por ejemplo, algo así como una clase base para ambos?). Actualmente nuestro código usa boost::asio::generic::stream_protocol::socket para tcp socket, y boost::asio::local::stream_protocol::socket para un socket unix.


En realidad, existe un tipo de ip::tcp::socket dedicado ip::tcp::socket para tcp sockets. En cuanto a generic::stream_protocol::socket , es el tipo de socket de flujo universal que acepta el protocolo de socket y la familia en tiempo de ejecución, por lo que puede usarlo para los dos tipos que necesita:

generic::stream_protocol::socket ipc(io_, generic::stream_protocol(AF_UNIX, 0)); generic::stream_protocol::socket tcp(io_, generic::stream_protocol(AF_INET, IPPROTO_TCP));