- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
兼容IPv4与IPv6的Winsock网络编程研究
4 VC环境下Daytime协议的实现
根据以上所述,下面开发一个可同时应用于IPv4和IPv6的实现Daytime协议的程序。该程序基于c/s结构,客户端使用TCP协议连接到服务器端,向服务器发送请求;服务器收到请求后,将当前的时间发回客户端。
4.1 服务器端程序设计
服务器端首先启动,通过调用socket()建立一个Socket,然后调用bind()将该Socket和本地网络地址联系在一起,再调用listen()使Socket做好侦听的准备,并规定请求队列的长度,之后就调用accept()接收连接。连接建立后,服务器端创建一个通信用的’Sock-et,把当前时间发回给客户端。最后,在数据传送结束后,调用close()关闭Socket。
服务器端设计过程如下:
(1)创建服务器端套接字
(3)*并接收连接
4.2 客户端程序设计
客户端创建一个Socket,并调用connect()和服务器建立连接。连接建立后,客户端等待服务器返回的当前时间。最后,待数据传送结束后,调用close()关闭Socket。
客户端设计过程如下。
(1)创建客户端套接字
5 程序运行后的结果
当服务器运行后,可同时在IPv4和IPv6地址*,客户端向服务器发送请求,服务器接到请求后,向客户端返回一个当前时间。此实验达到了预期效果。
服务器端运行结果如图1所示。
6 结 语
虽然IPv6网络已经开始实验性部署,但是IPv4网络向IPv6网络的过渡和互通仍有一定难度,IPv4和IPv6网络还需共存一段时间,因此开发能够同时支持IPv4和IPv6的网络应用程序会变得越来越重要。
在此编写了一个能够同时支持IPv4和IPv6协议的程序,此程序可以方便地进行今后其他应用协议及软件的移植,需在服务器端设计过程(4)及客户端设计过程(3)中根据其具体协议及软件进行相应改变。
来源:维库开发网