标签: ipv6

ipv6是否与ipv4向后兼容?

我有一个使用ipv4编写的udp示例程序.如果我将代码改为ipv6,我仍然能够与使用ipv4地址的监听器进行通信吗?我正在考虑移植示例

http://ou800doc.caldera.com/en/SDK_netapi/sockC.PortIPv4appIPv6.html

我不确定简单地改变代码是否会确保它有效或者我是否必须在双重堆栈模式下编写代码.

c++ udp ipv4 ipv6

1
推荐指数
2
解决办法
1282
查看次数

实现套接字接口以支持IPV6和IPV4的最佳方式

实现套接字接口以支持IPV6的最佳方法是什么.现有代码仅支持IPV4.现在,为了支持IPV6,我也很少有疑问......

1)_I应该用IPV6 API替换IPV4的所有API.通过AF_INET6说AF_INET,通过sockaddr_in6说sockaddr_in等.这些新API是否支持这两种协议.

2)或者我应该这样保持这种状况......

#ifdef IPV6_SUPPORT
    sockaddr_in6 addr;
    RTMemoryUtil::memset( &addr, 0, (int)sizeof( addr ) );
    addr.sin6_family = AF_INET6;
    addr.sin6_port   = (unsigned short)htons( port );
    RTMemoryUtil::memcpy( &addr.sin6_addr, address, (int)sizeof( *address ) );
#else
    sockaddr_in  addr;
    RTMemoryUtil::memset( &addr, 0, (int)sizeof( addr ) );
    addr.sin_family = AF_INET;
    addr.sin_port   = (unsigned short)htons( port );
    RTMemoryUtil::memcpy( &addr.sin_addr, address, (int)sizeof( *address ) );
#endif
Run Code Online (Sandbox Code Playgroud)

请建议是否有更好的方法或第二个过程中的缺陷是什么.

c++ sockets ipv6

1
推荐指数
1
解决办法
4278
查看次数

比较两个IPv6地址及其掩码(窗口)

我必须比较两个IPv6地址及其掩码,看它们是否相同.它们都是字符串,例如"xxxx:xxxx:xxxx:xxxx/xx".我只是使用memcmp逐位比较它们,但是当真实时这可能返回false,因为xxxx:xxxx:0000:xxxx/xx和xxxx:xxxxx :: xxxxx/xx在技术上是相同的地址.

我宁愿不创建地址和掩码的子串,但如果有一个比较两个IPv6地址的函数,我会这样做.有什么建议?:)

c++ equals mask ip-address ipv6

1
推荐指数
1
解决办法
2743
查看次数

在shell脚本中展开ipv6地址

我想基于给定的IPv6地址更新djbdns(dbndns)配置文件,例如2a01:488:66:1000:523:f116:0:1::1.

dbndns需要扩大IPv6地址,例如2a010488006610000523f116000000012a01:488:66:1000:523:f116:0:1.

扩展此类IPv6地址的最简单方法是什么?

shell ipv6

1
推荐指数
1
解决办法
3615
查看次数

IPv6作为可比较的JavaScript字符串?

前言

在IPv4时代,事情很容易,因为IPv4地址可以转换成一个简单的32位整数,然后用于各种比较计算.

使用IPv6有点尴尬,因为一方面,JavaScript本身不支持128位整数,并且它们的转换根本不是直截了当的.这只留下了处理IPv6字符串表示的选项.

如何将任何已知格式的IPv6地址转换为可比较的字符串?

要求

  1. 对于任何可比较的字符串,如果地址A在地址B之前,则条件A < B必须true在JavaScript中生成.同样的逻辑也必须是有效的比较的休息:===,<=,>>=.
  2. 对于每个IPv6,必须生成尽可能多的字符串以覆盖地址中的每个范围,即每个范围的起始地址+结束地址.

javascript ipv6

1
推荐指数
1
解决办法
2484
查看次数

Azure支持IPv6

我的托管服务提供商支持IPv6已有一段时间了.我正在寻找迁移到Azure的可能性,但想知道Azure是否支持IPv6.有没有可用的文件?

ip networking ipv6 azure azure-web-sites

1
推荐指数
2
解决办法
6298
查看次数

如何使用getifaddr()函数获取IPV6接口地址

我有getifaddrs()定义,但它适用于IPv4.请指导我如何使用该getifaddrs()功能获取IPv6地址.

c sockets ipv6

1
推荐指数
1
解决办法
6776
查看次数

如何将getaddrinfo中的IPv6地址存储到字符数组中?

我有一个addrinfo结构,可以通过getaddrinfo()使用以下参数调用该函数来获得:

getaddrinfo(address, NULL, &hints, &res)

我需要以二进制形式存储IPv6地址,并以十六进制形式打印它。

我的问题是,如何将IPv6地址存储在16个元素的字符数组中?

c sockets ipv6 getaddrinfo

1
推荐指数
1
解决办法
626
查看次数

node.js http.request和ipv6 vs ipv4

在node.js 4.x中,http.request 文档说这个函数

选项

  • family:解析主机名和主机名时使用的IP地址族.有效值为4或6. 如果未指定,将使用IP v4和v6.

family没有指定node.js选择ipv6或ipv4时,背后的逻辑是什么?

据我所知,当我没有指定它时,它默认为或更喜欢ipv4而浏览器,至少是chrome,更喜欢ipv6

有没有办法让node.js在可用时选择ipv6,还是我必须手动操作?

如果我是手动做的应该做什么?

  • 传入family: 6,如果超时然后传入family: 4

  • 发出DNS请求并检查我是否收到了ipv6地址,然后设置系列?

ipv6 node.js

1
推荐指数
1
解决办法
4050
查看次数

Inet6Address.getByName()给出奇数响应0:0:0:0:0:ffff:0:0

我正在使用以下代码来规范化IPv6 IP地址:

try {
    return Inet6Address.getByName(ipAddress).getHostAddress();
} catch (final UnknownHostException e) {
    return ipAddress;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用IP"0:0:0:0:0:ffff:0:0"时,我得到"0.0.0.0"作为响应.我在每个其他八位字节中用"ffff"尝试了这个代码,它们看起来很好:

ffff:0:0:0:0:0:0:0
0:ffff:0:0:0:0:0:0
0:0:ffff:0:0:0:0:0
0:0:0:ffff:0:0:0:0
0:0:0:0:ffff:0:0:0
0.0.0.0
0:0:0:0:0:0:ffff:0
0:0:0:0:0:0:0:ffff
Run Code Online (Sandbox Code Playgroud)

关于为什么这个IP特别不会返回IPv6格式的任何想法?

java ipv4 ipv6

1
推荐指数
1
解决办法
87
查看次数

标签 统计

ipv6 ×10

c++ ×3

sockets ×3

c ×2

ipv4 ×2

azure ×1

azure-web-sites ×1

equals ×1

getaddrinfo ×1

ip ×1

ip-address ×1

java ×1

javascript ×1

mask ×1

networking ×1

node.js ×1

shell ×1

udp ×1