gpt4 book ai didi

c - 我应该在与 IPv4 不同的端口上监听 IPv6 连接吗?

转载 作者:太空狗 更新时间:2023-10-29 15:30:33 27 4
gpt4 key购买 nike

我有一个程序可以监听连接并处理它们。我知道许多网络堆栈支持通过同一套接字/端口接受 IPv4 和 IPv6 连接,但我也听说 Windows XP 不是其中之一。为了让相同的代码在所有平台上运行良好,我是否应该只在单独的端口上监听 IPv6 连接?

最佳答案

Windows XP SP2+ 实现了双栈 IP 架构。这意味着您可以有两个绑定(bind)到相同端口号的套接字(一个用于 AF_INET,另一个用于 AF_INET6 系列)。这工作得很好。

注意:如果您打算用一个套接字来处理 IPv4 和 IPv6 连接,那么您将依赖于 Windows 中实现的所谓的双 IP 层堆栈 架构Vista 及更高版本(在这种情况下,您必须禁用该套接字上的 IPV6_V6ONLY 选项)。

引用Microsoft's Objectives for IP Version 6

另请查看 Application Aspects of IPv6 Transition (RFC 4038) 中的一般建议.

PS:BiggsTRC 目前接受的答案通常不准确,如相应评论中所述。但是,如果您可以使用两个端口号 - 那么这个答案仍然很有意义。

PS2:我使用了链接文章中的术语。不确定是否有任何其他平台在 dual-stackdual-layer 术语之间使用这种分离。

关于c - 我应该在与 IPv4 不同的端口上监听 IPv6 连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6374914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com