我可以在Windows操作系统上创建boost::asio::local::stream_protocol::socket
吗?我知道它应该是一个'UNIX'套接字,但Windows不支持这个吗?
答案 0 :(得分:3)
如果我理解正确,boost::asio::local::stream_protocol
是POSIX特定的。 Windows本身不是符合POSIX标准的环境,但有适用于Windows的POSIX环境,即Cygwin。但是,如果不分发环境,您将无法分发这些应用程序。
在某些情况下,特别是当Unix是您的主要目标平台时,并且您提供的是慷慨的Windows版本,这可能是可以接受的。
否则,您应该考虑绕过明确标记为不可移植的功能的方法。
答案 1 :(得分:2)
在boost文档中,您可以测试BOOST_ASIO_HAS_LOCAL_SOCKETS
以确定它们是否在您的本地操作系统上受支持。考虑到Windows不支持AF_UNIX
,似乎在您的标准Windows环境下无法使用此定义。