VB中WinSock控件的简单应用

上传人:新** 文档编号:509868660 上传时间:2023-12-04 格式:DOC 页数:8 大小:120.50KB
返回 下载 相关 举报
VB中WinSock控件的简单应用_第1页
第1页 / 共8页
VB中WinSock控件的简单应用_第2页
第2页 / 共8页
VB中WinSock控件的简单应用_第3页
第3页 / 共8页
VB中WinSock控件的简单应用_第4页
第4页 / 共8页
VB中WinSock控件的简单应用_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《VB中WinSock控件的简单应用》由会员分享,可在线阅读,更多相关《VB中WinSock控件的简单应用(8页珍藏版)》请在金锄头文库上搜索。

1、在Visual Basic 中使用Win Sock控件的简单应用vb编程2009-11-13 09:58:29 阅读23评论0 字号:大中小 订阅Winsock控件对用户是不可视的,可以很容易地访问TCP和UDP网络服务。其可以被 Microsoft Access,Visual Basic ,Visual C+ 或Visual FoxPro开发人员使用。要编写客户和服务器应用程序,不需要了解TCP或调用底层Winsock API的具体细节。通过设置 Winsock控件的属性和调用该控件的方法,可以很容易地 连接到远程计算机并进行双向的数据交换。属性BytesReceived 属性,LocalH

2、ostName 属性,LocalIP 属性,LocalPort 属性,RemoteHost 属性(ActiveX 控件),SocketHandle 属性,State 属性(Winsock 控件),Protocol 属性(Winsock 控件),Name 属 性,Parent 属性,RemoteHost 属性(ActiveX 控件),RemotePort 属性(ActiveX 控件),Index 属性(ActiveX 控件),Tag 属性(ActiveX 控件),Object 属性(ActiveX 控件)。方法Accept 方法,Bind 方法,Close 方法(Winsock 控件),List

3、en 方法,PeerData 方法,SendData 方法, GetData 方法(WinSock 控件),GetData 方法(ActiveX 控件)。事件Close 事件,ConnectionRequest 事件,DataArrival 事件,SendComplete 事件,SendProgress 事件, Error 事件,Connect 事件(Winsock 控件),Connect 事件。Winsock控件对用户来说是不可见的,它提供了访问TCP和UDP网络服务的方便途径。MicrosoftAccess Visual Basic、Visual C+ 或Visual FoxPro 的开发

4、人员都可使用它。为编写客户或服务器应用 程序,不必了解 TCP的细节或调用低级的 Winsock APIs。通过设置控件的属性并调用其方法就可轻易 连接到一台远程机器上去,并且还可双向交换数据。TCP基础数据传输协议允许创建和维护与远程计算机的连接。连接两台计算机就可彼此进行数据传输。如果创建客户应用程序,就必须知道服务器计算机名或者IP地址(RemoteHost属性),还要知道进行 侦听的端口( RemotePort属性),然后调用Connect方法。如果创建服务器应用程序,就应设置一个收听端口( LocalPort属性)并调用Listen方法。当客户计算机 需要连接时就会发生 Connec

5、tionRequest 事件。为了完成连接,可调用 ConnectionRequest 事件内的 Accept 方法。建立连接后,任何一方计算机都可以收发数据。为了发送数据,可调用SendData方法。当接收数据时会发生DataArrival事件。调用 DataArrival事件内的 GetData 方法就可获取数据。UDP基础用户数据文报协议(UDP)是一个无连接协议。跟TCP的操作不同,计算机并不建立连接。另外UDP应用程序可以是客户机,也可以是服务器。为了传输数据,首先要设置客户计算机的LocalPort属性。然后,服务器计算机只需将RemoteHost设置为客户计算机的Internet

6、地址,并将 RemotePort 属性设置为跟客户计算机的LocalPort属性相同的 端口,并调用 SendData 方法来着手发送信息 。于是,客户计算机使用 DataArrival 事件内的 GetData 方 法来获取已发送的信息。举例:WinSock 控件能够通过 UDP 协议(用户数据报协议)或 TCP 协议(数据传输协议)连接到远程的机器并 进行数据交换。这两种协议都能用来创建客户端和服务端应用程序。就像定时器控件一样, WinSock 控件 运行时没有一个可视的界面。可能的用途创建客户端应用程序,它能在信息到达中央服务器之前把用户的信息收集起来。创建服务端应用程序,它能作为来自

7、多个用户的数据一个集中处理点。创建聊天”程序。协议的选择当我们使用 WinSock 控件时,首先要确定的是使用 TCP 还是 UDP 协议。它们之间主要的区别在于连 接状态:TCP 协议控件是一个基于连接的协议,就像电话机一样,用户必须在通话之前建立连接;UDP 是一个无连接的协议,两台计算机之间的事务处理就像传纸条一样:一台计算机向另一台计算机 发送消息,但是它们之间并没有一个明确的连接路径。另外,发送的单个信息量的大小取决于网络。通常,你要创建的应用程序的类别就决定了你要选择的协议。以下是几个能够帮助你选择合适的协议 的问题:当发送或接收数据时,该应用程序需要从服务端或客户端获得认证吗?如

8、果要的话,那么TCP 协议就正好需要在发送或接受数据前建立明确的连接。要发送的数据量大吗?(就像图片、声音文件之类)一旦建立了连接,TCP 协议就会保持连接并保证数据的完整性。但是,这种连接会占用的更多的处理器资源,成本也会更高一些。数据是陆续传输的,还是一次全部传完呢?比如,如果你要创建的应用程序在某些任务完成时会告知 具体的计算机,那么选择 UDP 协议会更合适一些。 UDP 协议也更适合于发送小量数据。协议的配置配置你的应用程序所用到的协议:在设计阶段,单击工具窗口里的协议,选择sckTCPProtocol 或 sckUDPProtocol 。你也可以在代码里配置协议,就像下面这样:Wi

9、nsock1.Protocol=sckTCPProtocol确定你的计算机名要连接到远程的计算机,你必须知道它的IP地址或别名。IP地址是一串用句点分隔的3位数字。通常,计算机的别名更容易让人记住。按下面的步骤可以找到你的计算机名:在任务栏”里单击开始”在设置”选项里单击 控制面板”;双击网络”图标;单击网络标识”在计算机名”中显示的就是你的计算机名。一旦你找到你的计算名,它就可以作为远程主机的属性来用了。TCP连接入门当用TCP控件创建应用程序的时候,必须首先明确你的程序是作为服务端还是客户端。创建服务端程序就意味着你的程序能够在指定的端口进行监听”,而客户端则能够提岀请求,服务端能够接受请

10、求并实现连接。一旦连接建立起来,客户端和服务端就能够自由地进行通信。创建服务端程序下面是创建一个简单服务端程序的步骤:创建一个标准EXE工程;把默认窗体(Default form)的名字改为frmServer;把 form 的标题(caption )改为 TCP Server ;把 Winsock控件拉到窗体中,并命名为tcpServer ;在窗体中添加2个文本框,分别命名为 txtSendData 和txtOutput在窗体中加入下列代码;Private Sub Form_Load()Set the LocalPort property to an integer.Then invoke t

11、he Listen method.tcpServer.LocalPort = 1001 tcpServer.Listen frmClient.Show Show the client form. End SubPrivate Sub tcpServer_ConnectionRequest _(ByVai requestID As Long)Check if the controls State is closed. If not,close the connection before accepting the newconnection.If tcpServer.State sckClose

12、d Then tcpServer.CloseAccept the request with the requestIDparameter.tcpServer.Accept requestIDend ifEnd SubPrivate Sub txtSendData_Change()The TextBox control named txtSendDatacontains the data to be sent. Whenever the usertypes into the textbox, the string is sentusing the SendData method. tcpServ

13、er.SendData txtSendData.Text End SubPrivate Sub tcpServer_DataArrival _(ByVal bytesTotal As Long)Declare a variable for the incoming data.Invoke the GetData method and set the Textproperty of a TextBox named txtOutput tothe data.Dim strData As StringtcpServer.GetData strData txtOutput.Text = strData

14、End Sub上面就是创建一个简单的服务端应用程序的过程。然而,要完成整个过程,你还得创建一个客户端程 序。创建TCP客户端程序在工程中添加一个新的窗体(form),并命名为frmClient ;将窗体的标题(caption)改为TCP Client ;添加一个 Windsock控件到窗体中,命名为 tcpCllient ;添加2个文本框控件到 frmClient窗体,分别命名为 txtSenddata 和txtOutput ;添加一个按钮控件(CommandButton) 到窗体,命名为 cmdConnecti ;将按钮控件标题(caption)改为Connect ;在窗体中添加下面代码:注

15、:确保将远程主机属性(RemoteHost property)改为你的计算机别名Private Sub Form_Load()The name of the Winsock control is tcpClient.Note: to specify a remote host, you can useeither the IP address (ex: 121.111.1.1) orthe computer s friendly name, as shown here. tcpClient.RemoteHost = localhost tcpClient.RemotePort = 1001End SubPrivate Sub cmdConnect_Click()Invoke the Connect method to initiate aconnection.tcpClient.ConnectEnd SubPrivate Sub txtSendData_Change() tcpClient.SendData txtSendDataText End SubPrivate Sub tcpClient_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号