Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ipv6向后兼容ipv4吗?_C++_Udp_Ipv6_Ipv4 - Fatal编程技术网

C++ ipv6向后兼容ipv4吗?

C++ ipv6向后兼容ipv4吗?,c++,udp,ipv6,ipv4,C++,Udp,Ipv6,Ipv4,我有一个使用ipv4编写的udp示例程序。如果我将代码改为ipv6,我是否仍然能够与使用ipv4地址的侦听器的任何人通信?我正在研究在 我不确定简单地修改代码是否能确保它工作,或者我是否必须以双堆栈模式编写它 IPv4和IPv6天生不兼容。 有几个基本原因: 地址空间完全不同(IPv6有128位地址,IPv4有32位地址) IPv6的协议头与IPv4的协议头完全不同。如果您试图将IPv6数据包解析为IPv4,您将得到无意义的结果 这样做的明显结果是,如果打开IPv6套接字,则无法使用IPv

我有一个使用ipv4编写的udp示例程序。如果我将代码改为ipv6,我是否仍然能够与使用ipv4地址的侦听器的任何人通信?我正在研究在


我不确定简单地修改代码是否能确保它工作,或者我是否必须以双堆栈模式编写它

IPv4和IPv6天生不兼容。
有几个基本原因:

  • 地址空间完全不同(IPv6有128位地址,IPv4有32位地址)
  • IPv6的协议头与IPv4的协议头完全不同。如果您试图将IPv6数据包解析为IPv4,您将得到无意义的结果

这样做的明显结果是,如果打开IPv6套接字,则无法使用IPv4套接字侦听它。

IPv4和IPv6本质上是互不兼容的。
有几个基本原因:

  • 地址空间完全不同(IPv6有128位地址,IPv4有32位地址)
  • IPv6的协议头与IPv4的协议头完全不同。如果您试图将IPv6数据包解析为IPv4,您将得到无意义的结果

这样做的明显结果是,如果打开IPv6套接字,则无法使用IPv4套接字侦听它。

是和否。。。IPv6确实包含完全不同的寻址,因此您必须重新编码应用程序,以使用可选的头和结构大小


但是,IPv4地址范围在IPv6中可用,语法是在标准地址之前添加两个冒号(例如:10.11.12.13)。你也可以

是和否。。。IPv6确实包含完全不同的寻址,因此您必须重新编码应用程序,以使用可选的头和结构大小


但是,IPv4地址范围在IPv6中可用,语法是在标准地址之前添加两个冒号(例如:10.11.12.13)。你也可以

并非没有网络中的辅助,即使这样,通信也将受到网络地址转换网关引入的限制。对于面临类似决策的程序员,传统的建议是建议同时支持IPv4和IPv6。

如果没有网络中的A的帮助,即使这样,通信也会受到网络地址转换网关引入的限制。对于面临类似决策的程序员,传统的建议是建议同时支持IPv4和IPv6。

只有在您只知道其IPv4地址的情况下,如果希望向计算机发送IPv6数据包,则该地址范围才真正有用。但是,如果另一台计算机不理解IPv6,则您发送到::10.11.12.13的v6数据包仍将丢失。正确的语法实际上是
::ffff:n.n.n
。与IPv4兼容的IPv6地址已被弃用,并且无论如何都无法用于IPv4和IPv6应用程序之间的通信。只有在您只知道其IPv4地址的情况下,如果要向计算机发送IPv6数据包,该地址范围才真正有用。但是,如果另一台计算机不理解IPv6,则您发送到::10.11.12.13的v6数据包仍将丢失。正确的语法实际上是
::ffff:n.n.n
。IPv4兼容的IPv6地址已被弃用,并且无论如何都无法用于IPv4和IPv6应用程序之间的通信。这是完全正确的,但会产生误导。IPv6应用程序可以通过多种方式与仅IPv4的主机通信。事实并非如此。也可以在IPv6套接字上侦听来自IPv4应用程序的连接。这是严格正确的,但有误导性。IPv6应用程序可以通过多种方式与仅IPv4的主机通信。事实并非如此。还可以在IPv6套接字上侦听来自IPv4应用程序的连接。