我正在尝试监听套接字。如果用户指定使用 IPv6,我使用以下命令,该命令在 Linux 上有效:setsockopt(listen_fd, SOL_IPV6, IPV6_V6ONLY, &one, sizeof(one));但是 SOL_IPV6 d...
我正在尝试监听套接字。如果用户指定使用 IPv6,则我使用以下命令(在 Linux 上有效):
setsockopt(listen_fd, SOL_IPV6, IPV6_V6ONLY, &one, sizeof(one));
但 SOL_IPV6
在 OpenBSD 或 FreeBSD 上不存在。Linux ip(7)
上说:
Using the SOL_IP socket options level isn't portable; BSD-based stacks
use the IPPROTO_IP level.
我浏览了 FreeBSD 上的一些手册页(包括 ip(4)
和 setsockopt(2)
),但我仍然不确定如何继续。
( 完整来源中的位置 )