我可以在Windows操作系统上创建boost::asio::local::stream_protocol::socket吗?我知道它应该是一个'UNIX‘套接字,但是Windows不支持这个吗?
发布于 2013-08-09 01:17:36
如果我理解正确的话,boost::asio::local::stream_protocol是特定于POSIX的。Windows本身并不是符合POSIX标准的环境,但是现在已经有了适用于Windows的POSIX环境,即Cygwin。但是,如果不分发环境,您将无法分发这些应用程序。
在某些情况下,特别是当Unix是您的主要目标平台,并且您出于慷慨提供Windows版本时,这可能是可以接受的。
否则,您应该考虑如何绕过显式标记为不可移植的功能。
发布于 2013-08-09 01:19:33
从boost文档中,您可以测试BOOST_ASIO_HAS_LOCAL_SOCKETS以确定本地操作系统是否支持它们。考虑到AF_UNIX在Windows上不受支持,这个定义似乎在您的标准Windows环境下不可用。
https://stackoverflow.com/questions/18131926
复制相似问题