在VB中如何使用 Winsock 控件_第1页
在VB中如何使用 Winsock 控件_第2页
在VB中如何使用 Winsock 控件_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在VB中如何使用 Winsock 控件摘要:本文介绍如何利用inSk控件可以与远程计算机建立连接,并通过用户数据文报协议(UDP)或者传输控制协议(TP)进展数据交换,并分别给出insk控件使用UDP协议和TP协议进展远程计算机连接的应用实例关键词:VB、控件、协议1引言11insk控件可能的用处创立搜集用户信息的客户端应用程序,并将搜集的信息发送到某中央效劳器。创立一个效劳器应用程序,作为多个用户的数据的汇入点。创立“聊天应用程序。12选择通讯协议的标准在使用inSk控件时,首先需要考虑使用什么协议。可以使用的协议包括TP和UDP。两种协议之间的重要区别在于它们的连接状态:1、TP协议控件是

2、基于连接的协议,可以将它同 系统相比。在开场数据传输之前,用户必须先建立连接。2、UDP协议是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。另外,单次传输的最大数据量取决于详细的网络。到底选择哪一种协议通常是由需要创立的应用程序决定的。下面的几个问题将有助于选择适宜的协议:在收发数据的时候,应用程序是否需要得到客户端或者效劳器确实认信息?假如需要,使用TP协议,在收发数据之前先建立明确的连接。数据量是否特别大例如图象与声音文件?在连接建立之后,TP协议将维护连接并确保数据的完好性。不过,这种连接需要更多的计算资源,因此是比拟

3、“昂贵的。数据发送是间歇的,还是在一个会话内?例如,假如应用程序在某个任务完成的时候需要通知某个计算机,UDP协议是更适宜的。UDP协议合适发送少量的数据。13协议的设置在设计时,可以按如下方式设置应用程序使用的协议:在“属性窗口中单击“协议,然后选择skTPPrtl或者skUDPPrtl。也可以使用程序代码来设置Prtl属性,如下所示:insk1.Prtl=skTPPrtl14确定计算机的名称在与远程计算机相连接的时候,需要知道它的IP地址或者它的“计算机名。IP地址是一串数字,每三个数字为一组,中间用点隔开形如xxx.xxx.xxx.xxx。通常,最易记住的是“计算机名。要确定“计算机名,

4、请按照以下步骤执行:1在计算机的“任务栏上,单击“启动。2在“设置“项中,单击“控制面板“。3双击“网络图标。4单击“标识选项卡。5在“计算机名称框中可以找到计算机的名称。6上面找到的计算机名称可以作为ReteHst属性的值。2insk控件使用TP协议应用实例假如应用程序要使用TP协议,那么首先必须决定应用程序是效劳器还是客户端。假如要创立一个效劳器端,那么应用程序需要“监听指定的端口。当客户端提出连接恳求时,效劳器端可以承受恳求并建立连接。在连接建立之后,客户端与效劳器端可以自由地互相通讯。以下步骤创立一个非常简单的效劳器:1要创立一个TP效劳器,请按照以下步骤执行:2创立新的Standar

5、dEXE工程。3将窗体的标题改为“TP效劳器。4在窗体中放入一个insk控件(:indssystesinsk.x),并将它的名字改为tpServer。5在窗体上添加两个TextBx控件。将第一个命名为txtSend,第二个为txtutput。为窗体添加如下的代码。PrivateSubFr_Lad()将LalPrt属性设置为一个整数。然后调用Listen方法。tpServer.LalPrt=1001tpServer.ListenEndSubPrivateSubtpServer_nnetinRequest(ByValrequestIDAsLng)检查控件的State属性是否为关闭的。假如不是,在承

6、受新的连接之前先关闭此连接。IftpServer.StatesklsedThen_tpServer.lse承受具有requestID参数的连接。tpServer.AeptrequestIDEndSubPrivateSubtxtSend_hange()名为txtSend的TextBx控件中包含了要发送的数据。当用户往文本框中键入数据时,使用SendData方法发送输入的字符串。tpServer.SendDatatxtSend.TextEndSubPrivateSubtpServer_DataArrival(ByValbytesTtalAsLng)为进入的数据声明一个变量。调用GetData方法,

7、并将数据赋予名为txtutput的TextBx的Text属性。DistrDataAsStringtpServer.GetDatastrDatatxtutput.Text=strDataEndSub上面的步骤创立了一个简单的效劳器应用程序。为了使它可以工作,还必须为它创立一个客户端的应用程序。要创立TP客户端,请按照以下步骤执行:1在工程中添加一个新的窗体。2将窗体的标题改为“TPlient。3在窗体中添加一个insk控件,并将其命名为tplient。4在frlient中添加两个TextBx控件。将第一个命名为txtSend,第二个为txtutput。5在窗体上放一个andButtn控件,并将其

8、命名为dnnet。6将andButtn控件的标题改为nnet。在窗体中添加如下的代码。注意:必须将ReteHst属性值修改为您的计算机的名字。PrivateSubFr_Lad()insk控件的名字为tplient。注意:要指定远程主机,可以使用IP地址例如:,也可以使用“计算机名如下所示。tplient.ReteHst=ReteputerNaetplient.RetePrt=1001EndSubPrivateSubdnnet_lik()调用nnet方法,初始化连接。tplient.nnetEndSubPrivateSubtxtSend_hange()tplient.SendDatatxtSen

9、d.TextEndSubPrivateSubtplient_DataArrival(ByValbytesTtalAsLng)DistrDataAsStringtplient.GetDatastrDatatxtutput.Text=strDataEndSub上面的代码创立了一个简单的客户/效劳器形式的应用程序。我们可以将两者都运行起来:运行工程,然后单击“连接。在两个窗体之一的txtSend文本框中键入文本,可以看到同样的文字将出如今另一个窗体的txtutput文本框中。3insk控件使用UDP协议应用实例创立UDP应用程序比创立TP应用程序还要简单,因为UDP协议不需要显式的连接。在上面的TP

10、应用程序中,一个insk控件必须显式地进展“监听,另一个必须使用nnet方法初始化连接。UDP协议不需要显式的连接。要在两个控件中间发送数据,需要完成以下的三步在连接的双方:1将ReteHst属性设置为另一台计算机的名称。2将RetePrt属性设置为第二个控件的LalPrt属性。3调用Bind方法,指定使用的LalPrt。在创立UDP应用程序时必须调用Bind方法。Bind方法的作用是为控件“保存一个本地端口。例如,假如将控件绑定到1001号端口,那么其它应用程序将不能使用该端口进展“监听。该方法阻止其它应用程序使用同样的端口。Bind方法的第二个参数是任选的。假如计算机上存在多个网络适配器,可以用LalIP参数来指定使用哪一个适配器。假如忽略该参数,控件使用的将是计算机上“控制面板设置中“网络控制面板对话框中列出的第一个适配器。在使用UDP协议的时候,可以任意地改变ReteHst和RetePrt属性,同时始终保持绑定在同一个LalPrt上。TP协议与此不同,在改变ReteHst和RetePrt属性之前,必须先关闭连接。因为两台计算机的地位可以看成“平

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论