当前位置: 首页 > 知识库问答 >
问题:

了解OS/Platform是否支持IPv6套接字以侦听Perl中的IPv4的最佳方法是什么?

林和煦
2023-03-14

根据这个问题的正确答案

现在,我想编写一些Perl代码来确定底层OS/平台是否同时监听IPv6和IPv4(如果绑定到IPv6),如果是,我将只绑定到IPv6,如果不是,我将创建2个套接字(1个用于IPv4,另一个用于IPv6)。

我想知道什么是最好的方法?

if( IO::Socket::IP->CAN_DISABLE_V6ONLY ) {
    ...
}
else {
    ...
}

共有1个答案

云长恨
2023-03-14

它只是告诉“无法禁用IPv6_V6Only套接字选项”

这是正确的。

您可以做的是尝试创建PF_INET6套接字,如果成功,则检查其IPV6_V6ONLY套接字选项。如果这是真的,那么套接字只侦听IPv6而不是IPv4,因此您必须创建另一个套接字。如果为false,那么套接字将同时捕获IPv6和IPv4,这一套接字就足够了。

 类似资料:
  • 我正在创建套接字类,但我想使我的连接功能是动态的,可以连接到地址(ipv4或ipv6),使用交换机进行IPv测试并连接到支持的IPv,只是想问一下我是否是对的,或者有没有一个简单的方法使它成为ipv4或ipv6?

  • 我有一个UDP服务器,它必须同时为IPV4和IPV6地址上的客户端提供服务。我创建了一个IPV6套接字来同时为IPV4和IPV6客户端服务。 服务器在第一次通信时存储客户端的IPAddress。如果是IPV4客户端,则存储为IPV4地址;如果是IPV6客户端,则服务器存储为IPV6地址。对于以后的所有通信,它检查存储是否已知(存储)该客户端,然后相应地执行操作。为了将客户端地址与存储的地址进行比较

  • 我启动一个服务器套接字,希望它监听环回地址(127.0.0.1)。代码如下:...... 但是我发现这个套接字用“netstat”命令开始监听IPv6地址“:ffff:127.0.0.1”,这导致运行在另一个进程(在Python中)中的客户端无法通过“127.0.0.1”连接到这个服务器。 为什么android会自动将IPV4地址映射到IPv6地址?

  • 问题内容: 我有一个本质上相当于嵌套字典的数据结构。假设它看起来像这样: 现在,维护和创建它非常痛苦。每当我有一个新的州/县/专业时,我都必须通过讨厌的块创建较低层的字典。此外,如果要遍历所有值,则必须创建烦人的嵌套迭代器。 我也可以使用元组作为键,例如: 这使得对值的迭代非常简单自然,但是在语法上进行诸如汇总和查看字典子集之类的操作在语法上更加痛苦(例如,如果我只是想逐个查看状态的话)。 基本上

  • 本文向大家介绍在事件侦听上调用event.preventDefault()的最佳方式是什么?相关面试题,主要包含被问及在事件侦听上调用event.preventDefault()的最佳方式是什么?时的应答技巧和注意事项,需要的朋友参考一下 在事件侦听上调用event.preventDefault()的最佳方式是什么?

  • 问题内容: 我正在尝试检查某一个是否为元音。这样做的最佳方法是什么? 问题答案: 这是我使用了一段时间的解决方案,但它并没有让我失望: 对于我的应用程序,它相当快。