【VB开源代码栏目提醒】:网学会员鉴于大家对VB开源代码十分关注,论文会员在此为大家搜集整理了“运用VB实现基于TCP协议的C_S程序开发 - 综合课件”一文,供大家参考学习
电脑编程技巧与维护电脑编程技巧与维护电脑编程技巧与维护随着Internet的兴起与迅速发展TCP/IP协议已成为计算机网络中最主要的传输协议CP/P传输协议也越来越为人所熟知。
在CP/IP网络应用中多数网络应用程序是使用C/S客户/服务器模型方式客户/服务器模型最重要的特点是非对等相互作用客户与服务器处于不平等的地位。
服务器拥有客户机所不具备的各种软硬件资源和运算处理能力服务器提供服务客户请求服务这种模式适应了网络资源、运算能力、信息分布不均等现象成为CP应用的主要模式。
ntrnt中的WWW、FP、lnt、E-mail等许多典型应用都是采用客户/服务器模型方式。
C/除了用于广域网外在局域网中也广泛应用。
1基本原理C/S体系是指计算机网络系统是一种可包纳各种类型计算机的异种机体系结构能将一个具体应用任务分解在不同的计算机上协同完成的分布式计算环境DCE。
目前流行的C/S系统能有效共享从数据到时处理能力的每一种资源并能将处理任务和集中的数据在客户机/服务器的软件及硬件上均衡分配通过创建有效的C/S
系统设计者能极大地提高一个组织的效率和性能。
一般C/S工作原理是客户机向服务器发出服务请求服务器作出应答响应服务器通常在一个众所周知的地址侦听客户向服务器发出的请求服务进程这时一直是处于休眠状态直到有一个客户程序提出连接请求服务器作出应答并为客户提供相应的服务。
其
工作原理如1图所示。
其中中间件对用户是透明的一般用于表示客户机/服务器通信的软件包它通常有几层和并发使用的协议堆叠而成例如对于与SQL服务器通信的客户机中间件包括Winsock、C/堆、ODBC及ODBC驱动器。
2Winsock控件
VB6.0不但提供了良好的界面设计能力而且在网络通信方面的功能也很强其中利用程序自带的Winsock控件开发网络通信应用软件更是十分方便。
Winsock控件用于支持网络中两台以上计算机之间进行通信。
Winsock控件提供了多样化的属性和方法来实现网络通信。
通过设置Winsock控件属性及调用控件方法就能够实现CP或UDP方式的网络通信。
因此使用Winsock控件编写网络通信程序的过程实际上就是设置Winsock控件属性和调用控件方法的过程。
利用这个控件编程人员可以轻松地编写出CP/P客户服务器程序。
Winsock控件是不可视控件它提供了访问CP和UDP
网络服务非常简便的途径使编程人员开发客户/服务器应用程序时不必了解CP的细节或调用低级的WinsockAPIs函数只通过设置Winsock控件的属性并调用其方法就可直接连接到一台远程
计算机进行并可实现双向数据交换。
MicrosoftAccss、VisualBaisc、VisualC或VisualFoxPro都可用其编写客户服务器程序。
如果访问CP传输控制协议服务功能则须建立连接并实现主机间点对点
通信。
如果访问UDP数据文报协议功能则不建立连接发送数据将以广播方式上网传输。
3设计方法3.1通信流程使用CP/P协议通信首先要指定通信方式为CP方式将Winsock控件的Protocol属性设置为sckCPProtocol。
运用
VB实现基于CP协议的C/S程序开发何锦源江门市新会区中等专业学校江门529100摘要随着Intrnt的普及CP协议在网络编程中显得尤其重要。
阐述了CP协议和C/S程序的基本原理介绍了利用VisualBasic60中的Winsock控件进行基于CP协议开发C/S程序的设计方法和应用实例。
关键词CP/IPWinsock客户/服务器DvlopmntofC/SProgramBasdonCPAgrmntwithVBHEJinyuanJiangmenXinhuiSecondrySpecilizedSchoolingmen529100Abstract:WiththpopolarizationofntrntthCPprotocolisplaysvryparticarlyimporantrolinntworkprograming.hispaprinthisstudydscribsthCprotocolandthbasicprinciplsofthC/Sclint/srvrprocdurwrprsntdasintroducingthdsignmthodsofdvlopingC/SprogrambyusofwinsockcontrolinVisualBasic60andaplictionxamplsbasonCPprotocolKey
words:CP/PWinsockClint/Srvr作者简介何锦源1975-男计算机讲师数据库工程师学士学位研究方向数据库编程。
收稿日期2010-06-11图1C/S工作原理服务请求客户机中间件AP协议硬件结果回送服务器12--软件开发与
设计SOFTWAREDVLOPMNTANDDSIGN
软件开发与设计软件开发与设计软件开发与设计然后按TCP通信协议规定先要申请建立网络连接然后才能传输数据。
利用
VB的Winsock控件来建立一个基于TCP的C/S应用时客户机/服务器的通信过程大致如下1启动服务器软件初始化本地端口和协议进入监听状态。
2客户端软件需访问服务器时设置服务器计算机的名称或IP以及基于TCP的服务端口调用连接方法请求与服务器连接。
3服务器方产生连接请求事件若接受请求执行接受方法并于连接成功后在客户端与服务端均产生连接事件。
4客户机/服务器进行数据交换。
5当某一方准备结束交换数据时执行关闭方法断开连接另一方则产生关闭事件并进行相应处理服务器方再次进入监听状态等待客户下一次连接请求。
此过程如图2所示。
3.2设计3.2.1开始侦听网络服务器程序窗体中有3个Winsock控件Name分别为sckServer、sckBusy和sckListen。
其中sckListen是侦听控件sckBusy是应答控件sckServer连接控件。
侦听控件和连接控件不能是同一个Winsock控件。
服务器程序必须首先侦听网络等待客户的连接申请才有可能建立网络连接。
服务器程序开始侦听网络前需要为侦听用sckListen控件的LocalPort属性设置通信接口然后调用Listen方法。
服务器程序开始侦听网络的程序
代码如下sckListen.ocalPort4477sistnListn侦听网络3.2.2申请连接当服务器程序已经启动运行并开始侦听网络后在客户
程序申请连接前需要为客户Winsock控件的RemodeHost属性设置远程主机为RemodePort属性设置通信接口然后再调用Connect方法向服务器程序申请连接。
设置远程主机名可以是计算机名也可是IP地址。
如果是主机计算机名则需要系统翻译为相应的IP地址如果是主机IP地址则直接进行连接。
申请连接的程序
代码如下scClintrotoolsTCrotool设置协议为TC方式I地址127001代表本机与本机的实际地址无关sClientRmoteHost17001190001设置远程主机接口号该值必须与设置远程主机服务器程序的接口号一致sClintRmotPort4477sClintConnt申请连接3.2.3应答连接请求服务器程序启动侦听网络后当客户程序执行Connect方法申请连接时服务器程序的侦听控件sckListen触发ConnectionRequest事件并传递连接请求句柄。
编程人员需要在该当事件程序中调用连接控件sckServer的ccept方法实现连接。
服务器程序应答连接的程序
代码如下PrivatSubsistn_ConntionRqustByValrqustIDAsongsSrvrAptrqustID应答连接请求EndSub当服务器程序执行Accept方法建立连接后客户程序中的接连控件将触发Connect事件通报连接完成否则触发rror事件通报连接失败。
可以在该事件程序中加入连接后的处理程序。
如果要求服务器程序支持多用户连接则需要创建Winsock控件数组在连接时动态生成Winsock控件与客户程序建立连接。
程序
代码应修改如下PrivatSubsistn_ConntionRqustByValrqustIDAsonDimiAsonIfCurNumbr