Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3489
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2020-10-23 15:39
个人简介

我在职做软件开发,我想在这里留点东西,留点回忆,想学习编程技术以及分享交流编程技术.我是一个70后软件设计师!干20多年了!玩过EV3、单片机,会用汇编,会用C,C++,C#,JAVA,Python,Oracle、Sql Server、Mysql等,也是一个旅游爱好者,以后会继续发自驾游(自助游)的照片,以及整理编程方面的资料.

文章分类
文章存档

2020年(7)

我的朋友
最近访客

分类: C/C++

2020-11-17 09:51:57

#IPV6兼容IPV4通信程序升级改造之经典源代码解析#
#IPV4升级改造# #IPV6兼容IPV4# #IPV4通信程序升级改造# #IPV6兼容IPV4通信程序开发#
一、IPV6兼容IPV4通信程序升级改造背景
IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址 。
由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。
由于从IPv4网络完全过渡到IPv6网络需要全球互联网基础设施中的网络软件和网络硬件设备以及终端设备都支持IPv6协议,这会涉及到大量的改造工作,虽然得到各国政府和各大运营商的重视和推动,但是IPv4和IPv6仍将长期共存。要做到IPv6和IPv4完全兼容需要做很大的修改,最简单的协议上要兼容128位的IP地址,路由器,服务器等相关硬件也要升级。


二、IPV6兼容IPV4通信程序解决方案核心理论
IPV6兼容IPV4通信程序解决方案核心理论是把IPV4的地址转换成了IPV6的地址,如192.168.10.77?::ffff:192.168.10.77(ipv6地址假设为2001:250:4000:2000::77), 把” ::ffff:”去掉后,就可以得到IPV4地址了.Windows、Linux环境下都使用了getaddrinfo函数,用struct sockaddr_storage结构替换掉struct sockaddr_in结构,来解决兼容性问题,从而完美地兼容了IPV4、IPV6地址可以同时访问经过改造后的服务端通信程序.


三、Windows环境下IPV6兼容IPV4通信程序经典源代码如下:   
 见链接地址
阅读(154) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~