We have a boost asio based networking code, which connects to a remote side. The local side could be either a tcp4 socket or a unix socket.
Is there a typename to use that could hold both of these type of boost sockets? (e.g. something like a base class for both?).
Currently our code use
boost::asio::generic::stream_protocol::socket
for tcp socket, and
boost::asio::local::stream_protocol::socket
for a unix socket.
Actually, there's a dedicated ip::tcp::socket
type for tcp sockets.
As for generic::stream_protocol::socket
, it is the universal stream socket type that accepts socket protocol and family in run-time, so you can use it for the both types you need:
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));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With