2

我可以boost::asio::local::stream_protocol::socket在 Windows 操作系统上创建一个吗?我知道它应该是一个“UNIX”套接字,但 Windows 不支持这个吗?

4

2 回答 2

3

如果我理解正确,boost::asio::local::stream_protocol是 POSIX 特定的。Windows 本身不是符合 POSIX 的环境,但有适用于 Windows 的 POSIX 环境,即Cygwin。但是如果不分发环境,您将无法分发这些应用程序。

在某些情况下,尤其是当 Unix 是您的主要目标平台,并且您出于慷慨而提供 Windows 版本时,这可能是可以接受的。

否则,您应该考虑绕过明确标记为不可移植的功能的方法。

于 2013-08-08T17:17:36.250 回答
2

从 boost 文档中,您可以测试BOOST_ASIO_HAS_LOCAL_SOCKETS以确定它们是否在您的本地操作系统上受支持。考虑AF_UNIX到 Windows 不支持,在您的标准 Windows 环境下,此定义似乎不可用。

于 2013-08-08T17:19:33.367 回答