gpt4 book ai didi

Linux:in6addr_any 并绑定(bind)到特定的 IPv4 地址

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:00:39 27 4
gpt4 key购买 nike

我们需要将 IPv4 套接字移植到 IPv4 和 IPv6。我想创建一个将绑定(bind)在 6addr_any 中的服务器 IPv6 套接字。我知道它可以处理 IPv4 请求,但我的问题是我们提供了几个绑定(bind)选项,例如其中之一是绑定(bind)到地址。

我们希望能够处理 IPv4 和 IPv6 请求,这可以通过仅使用 1 个套接字来完成。

何时需要将套接字绑定(bind)到 ipv4 地址,它会改变吗?我们需要打开新的 ipv4 套接字吗?

有什么建议如何支持它吗?

我希望我的问题有一定道理。欢迎询问更多详情

最佳答案

如果您使用 V6ONLY=0 创建 IPv6 套接字并绑定(bind)到通配符 IPv6 地址,那么您可以在该单个套接字上同时接受 IPv4 和 IPv6 连接。

如果你想绑定(bind)到显式地址,那么你需要多个套接字:每个地址一个。为要绑定(bind)到的 IPv4 地址创建 IPv4 套接字并为 IPv6 地址创建 IPv6 套接字可能是最简单的方法,尽管您可以对所有内容使用 IPv6 套接字。

在最后一种情况下,您为每个 IPv4 地址创建一个 V6ONLY=0 的 IPv6 套接字,并将其绑定(bind)到映射地址。对于 IPv4 地址 aaa.bbb.ccc.ddd,您将绑定(bind)到 IPv6 地址 ::ffff:aaa.bbb.ccc.ddd(如果您的实现接受此表示法)或else to ::ffff:wwxx:yyzz,其中wwaaa的十六进制表示,xx是十六进制bbb等版本

关于Linux:in6addr_any 并绑定(bind)到特定的 IPv4 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20516423/

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