本文给出了利用Visual Basic6.0开发客户/服务器软件的设计方法;最后给出了应用实例
摘 要 本文介绍了TCP/IP协议和客户/服务器程序的基本原理,给出了利用Visual Basic6.0开发客户/服务器软件的设计方法;最后给出了应用实例。
关键词 VB TCP/IP协议 Winsock控件 客户/服务器
1 引言
随着网络通信的兴起与迅速发展,TCP/IP协议已成为计算机网络中最主要的传输协议,TCP/IP传输协议也越来越为人所熟知。目前的Internet 网就是基于TCP/IP协议的互联网络。TCP/IP除了用于广域外,在局域网中也广泛应用。
TCP是传输控制协议,它提供了一种可靠的、面向会话连接的数据流服务,它可以在一个分组可能发生丢失、破坏、重复、延迟和乱序的不可靠物理网络之上通过确认、流控、复用同步等自动纠错技术提供一种可靠的进程间通信机制,从而充分保证用户数据传送的可靠和有序性。使用TCP协议通信时,TCP建立并控制数据发送方与接收方的会话关系,当接收方正确收到数据后,必须向发送方发送确认信息。如果发送方在指定时间内未能收到确认信息,将重发数据包。
IP指分组交换协议,是联网的主机之间定义数据包传送路由的规则,它的基本任务是通过网络传送数据报,各个IP数据报之间是相互独立的。IP本身没有连接协议,在交换数据前不会建立会话关系。IP收到数据后也不确认,发送方和接收方都不检测数据传输的正确性。所以仅有IP是不可靠的,不能确保正确传输数据。TCP与IP的组合则构成了功能完整的传输协议。
在TCP/IP网络应用中,多数网络应用程序是使用客户/服务器模型方式,客户向服务器发出服务请求,服务器作出应答响应,服务器通常在一个众所周知的地址侦听客户向服务器发出的请求,服务进程这时一直是处于休眠状态,直到有一个客户程序提出连接请求。服务器作出应答,并为客户提供相应的服务。客户/服务器模型最重要的特点是非对等相互作用,客户与服务器处于不平等的地位。服务器拥有客户机所不具备的各种软硬件资源和运算处理能力,服务器提供服务,客户请求服务,这种模式适应了网络资源、运算能力、信息分布不均等现象,成为IP应用的主要模式。Internet中的WWW、FTP、Telnet、E-mail等许多典型应用都是采用客户/服务器模型方式。
Visual Basic是Windows环境下简单、易学、高效的可视化编程语言开发系统,以其所见即所得的可视化界面设计风格和32位面向对象的程序设计等特点,已广泛地应用于各个领域,是很多计算机软件开发人员采用的开发工具。VB不但提供了良好的界面设计能力,而且在网络通信方面的功能也很强。采用VB开发网络通信应用软件十分方便,尤其软件界面设计非常便捷,编程工作量较小,开发周期短。
Visual Basic6.0中提供了Winsock控件,用于支持网络中两台以上计算机之间进行通信。Winsock控件提供了多样化的属性和方法来实现网络通信。通过设置Winsock控件属性及调用控件方法就能够实现TCP或UDP方式的网络通信。因此,使用Winsock控件编写网络通信程序的过程,实际上就是设置Winsock控件属性和调用控件方法的过程。利用这个控件,编程人员可以轻松地编写出TCP/IP客户服务器程序。
2 Winsock控件
Winsock控件是不可视控件,它提供了访问TCP和UDP网络服务非常简便的途径,使编程人员开发客户/服务器应用程序时,不必了解TCP的细节或调用低级的WinsockAPIs函数,只通过设置Winsock控件的属性并调用其方法,就可直接连接到一台远程计算机进行,并可实现双向数据交换。Microsoft Access、Visual Baisc、Visual C++或Visual FoxPro都可用其编写客户服务器程序。
如果访问TCP传输控制协议服务功能,则须建立连接并实现主机间点对点通信。如果访问UDP数据文报协议功能,则不建立连接,发送数据将以广播方式上网传输。