我有一个使用ipv4编写的udp示例程序.如果我将代码改为ipv6,我仍然能够与使用ipv4地址的监听器进行通信吗?我正在考虑移植示例
http://ou800doc.caldera.com/en/SDK_netapi/sockC.PortIPv4appIPv6.html
我不确定简单地改变代码是否会确保它有效或者我是否必须在双重堆栈模式下编写代码.
是和否...... IPv6确实包含完全不同的寻址,因此您必须重新编码应用以使用备用标头和结构大小.
但是,IPv4地址范围在IPv6中可用,语法是在标准地址之前添加两个冒号(例如:: 10.11.12.13).您还可以在IPv6数据包中嵌入IPv4地址.
在没有网络中的IPv4/IPv6网关的帮助下,即使这样,通信也将受到网络地址转换网关引入的典型问题的限制.面对这样的决策的程序员的传统建议是建议同时支持IPv4和IPv6.