VB Winsock控件(UDP协议)的使用
- 格式:ppt
- 大小:165.00 KB
- 文档页数:3
利用WinSock 控件可以与远程计算机建立连接,并通过用户数据文报协议(UDP)或者传输控制协议(TCP)进行数据交换。
这两种协议都可以用来创建客户与服务器应用程序。
与Timer 控件类似,WinSock 控件在运行时是不可见的。
可能的用途•创建收集用户信息的客户端应用程序,并将收集的信息发送到某中央服务器。
•创建一个服务器应用程序,作为多个用户的数据的汇入点。
•创建“聊天”应用程序。
选择通讯协议在使用 WinSock 控件时,首先需要考虑使用什么协议。
可以使用的协议包括 TCP 和 UDP。
两种协议之间的重要区别在于它们的连接状态:•TCP 协议控件是基于连接的协议,可以将它同电话系统相比。
在开始数据传输之前,用户必须先建立连接。
•UDP 协议是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。
另外,单次传输的最大数据量取决于具体的网络。
到底选择哪一种协议通常是由需要创建的应用程序决定的。
下面的几个问题将有助于选择适宜的协议:1. 在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息?如果需要,使用TCP 协议,在收发数据之前先建立明确的连接。
2. 数据量是否特别大(例如图象与声音文件)?在连接建立之后,TCP 协议将维护连接并确保数据的完整性。
不过,这种连接需要更多的计算资源,因而是比较“昂贵”的。
3. 数据发送是间歇的,还是在一个会话内?例如,如果应用程序在某个任务完成的时候需要通知某个计算机,UDP 协议是更适宜的。
UDP 协议适合发送少量的数据。
协议的设置在设计时,可以按如下方式设置应用程序使用的协议:在“属性”窗口中单击“协议”,然后选择sckTCPProtocol 或者 sckUDPProtocol。
也可以使用程序代码来设置 Protocol 属性,如下所示:Winsock1.Protocol = sckTCPProtocol确定计算机的名称在与远程计算机相连接的时候,需要知道它的 IP 地址或者它的“好听的名字”。
VB中Winsock简单实例Winsock是Visual Basic(VB)中用于创建网络应用程序的组件。
它提供了一种简单的方法来实现网络通信,并允许应用程序通过TCP/IP协议与远程主机进行通信。
本文将介绍如何在VB中使用Winsock组件创建一个简单的网络应用程序。
什么是Winsock?Winsock(Windows Sockets)是一套用于在Windows操作系统上进行网络通信的API。
它提供了一种标准的接口,使开发人员可以使用各种网络协议(如TCP/IP)进行通信。
在VB中,Winsock组件是对Winsock API的封装,使开发人员可以轻松地在VB应用程序中实现网络通信功能。
Winsock组件的使用要在VB中使用Winsock组件,首先需要在项目中添加对Microsoft Winsock Control的引用。
在VB的工具箱中,可以找到Winsock控件并将其拖放到窗体上。
Winsock控件具有许多属性和方法,用于配置和控制网络通信。
以下是一些常用的属性和方法:属性•LocalHost:表示本地主机的IP地址。
•LocalPort:表示本地主机的端口号。
•RemoteHost:表示远程主机的IP地址。
•RemotePort:表示远程主机的端口号。
•Protocol:表示要使用的网络协议。
方法•Connect:与远程主机建立连接。
•SendData:发送数据到远程主机。
•GetData:从远程主机接收数据。
•Close:关闭与远程主机的连接。
Winsock简单实例下面是一个简单的VB程序示例,演示了如何使用Winsock组件进行网络通信。
该程序将作为客户端与远程服务器建立连接,并发送和接收数据。
Private Sub Form_Load()' 设置本地主机和端口Winsock1.LocalPort = 1234Winsock1.LocalHost = "127.0.0.1"End SubPrivate Sub ConnectButton_Click()' 设置远程主机和端口Winsock1.RemoteHost = "192.168.0.1"Winsock1.RemotePort = 5678' 建立连接Winsock1.ConnectEnd SubPrivate Sub SendButton_Click()' 发送数据到远程主机Winsock1.SendData "Hello, Server!"End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim receivedData As String' 接收数据Winsock1.GetData receivedData' 处理接收到的数据MsgBox "Received: " & receivedDataEnd SubPrivate Sub DisconnectButton_Click()' 关闭连接Winsock1.CloseEnd Sub在上面的示例中,我们首先在Form_Load事件中设置了本地主机和端口。
VB Winsock 控件的使用与介绍第一节: Winsock 控件的介绍Winsock 控件的作用简单说就是可以用于两台或多台机器间通信,这里不多说这个控件的作用了,因为在以后的介绍中我们会了解到这个控件的强大功能的,如可以用来做聊天软件等废话不多说,来看看他有些什么重要的属性、方法和事件吧!在 VB6.0 中的工具箱里默认情况下是没有这个控件的,添加方法如下:在工具箱上右击,选择 [部件 ],然后在部件对话框中选择 "MicrosoftWinsock Control6.0",后确定即可。
如果没有这个复选框的话,请点击 [浏览]按钮后在打开的 [添加 ActiveX 控件 ]对话框选择MSWINSCK.ocx 后选择打开,再点确定即可。
Winsock 控件在工具箱中图标为。
Winsck 的主要属性:属性名说明 BytesReceived返回接收的数据,可以用GetData 方法来获取它LocalHostName返回本机名LocalIP返回本机 IPLocalPort返回或设置本机所用的端口,如果为0 则为随机产生Protocol返回通信所用的协议RemoteHostName返回通信对方的计算机名RemoteHostIP返回通信对方的IPState返回 Winscok 的当前状态,取值如下sckClosed (常量为 0):关闭状态sckOpen (常量为 1):打开状态sckListening (常量为2):侦听状态sckConnectionPending (常量为3):连接状态sckResolvingHost (常量为4):解析主机中sckHostResolved (常量为 5):已解析主机sckConnecting (常量为6):正在连接sckConnected (常量为 7):已经连接sckClosing (常量为8):客户端正在关闭sckError (常量为9):连接发生错误。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==vb6winsock范例篇一:VB中使用WinSock控件编写网络程序VB中使用WinSock控件编写网络程序WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器并进行数据交换。
这两种协议都能用来创建客户端和服务端应用程序。
就像定时器控件一样,WinSock控件运行时没有一个可视的界面。
可能的用途创建客户端应用程序,它能在信息到达中央服务器之前把用户的信息收集起来。
创建服务端应用程序,它能作为来自多个用户的数据一个集中处理点。
创建“聊天”程序。
协议的选择当我们使用WinSock控件时,首先要确定的是使用TCP还是UDP协议。
它们之间主要的区别在于连接状态:TCP协议控件是一个基于连接的协议,就像电话机一样,用户必须在通话之前建立连接;UDP是一个无连接的协议,两台计算机之间的事务处理就像传纸条一样:一台计算机向另一台计算机发送消息,但是它们之间并没有一个明确的连接路径。
另外,发送的单个信息量的大小取决于网络。
通常,你要创建的应用程序的类别就决定了你要选择的协议。
以下是几个能够帮助你选择合适的协议的问题:当发送或接收数据时,该应用程序需要从服务端或客户端获得认证吗?如果要的话,那么TCP协议就正好需要在发送或接受数据前建立明确的连接。
要发送的数据量大吗?(就像图片、声音文件之类)一旦建立了连接,TCP协议就会保持连接并保证数据的完整性。
但是,这种连接会占用的更多的处理器资源,成本也会更高一些。
数据是陆续传输的,还是一次全部传完呢?比如,如果你要创建的应用程序在某些任务完成时会告知具体的计算机,那么选择UDP协议会更合适一些。
UDP 协议也更适合于发送小量数据。
协议的配置配置你的应用程序所用到的协议:在设计阶段,单击工具窗口里的协议,选择sckTCPProtocol或sckUDPProtocol。
在Visual Basic中使用WinSock控件的简单应用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属性,LocalHostName属性,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控件),Listen方法,PeerData方法,SendData方法,GetData方法(WinSock控件),GetData方法(ActiveX控件)。
事件Close事件,ConnectionRequest事件,DataArrival事件,SendComplete事件,SendProgress事件,Error事件,Connect事件(Winsock控件),Connect事件。
Winsock 控件对用户来说是不可见的,它提供了访问TCP 和UDP 网络服务的方便途径。
Microsoft Access、Visual Basic、Visual C++ 或Visual FoxPro 的开发人员都可使用它。
在POWERBUILDER中使用WINSOCK控件的方法随着资源共享和实时通讯的需要,很多计算机应用程序早已甩开单兵作战的模式,转入联合行动。
网络在计算机世界里,越来越发挥着举足轻重的作用。
在WINDOWS应用程序中,处理实时通讯最常用到的还是MICROSOFT公司提供的WINSOCK控件。
许多资料都细述了WINSOCK在VB中的使用方法,就连WINDOWS本身提供的hlp文件也是针对VB而写的。
笔者因为实际应用的需要,琢磨出了WINSOCK 控件在PB中的应用方法。
好东西不敢独自享用,拿出来与大家共享。
下面以一个简单程序为例,说明WINSOCK控件在PB中的使用:一、在窗口中添加WINSOCK控件:在应用中新开一个窗口,在窗口画板中点击controls-->OLE菜单项,弹出Insert object窗口,单击Insert control标签,从列表框中双击选定Microsoft Winsock control,将winsock的图标贴在窗口上。
在程序中该控件名称定为winsock_a(甲方)和winsock_b(乙方)。
二、设置信息输入输出文本框:在窗口中增加一个按钮cb_1,两个单行文本框sle_1,sle_2,分别用于输入要发送的字符串和接受对方发送的字符串。
三、设置通讯协议:WINSOCK控件允许用户以UDP和TCP两种协议中任选一种进行通讯。
1.UDP协议设置:UDP协议是一种无连接的通讯协议,在通讯之前,需要绑定remotehost和remoteport 属性,如果需要双向通讯,还要设置localport属性。
在甲方(本机地址为:134.1.1.1)窗口的Open事件中加入如下语句:winsock_a.object.protocol=1//winsock通讯协议设为UDP协议winsock_a.object.remotehost="134.1.1.2"//对方的ip地址winsock_a.object.remoteport=6000//对方的winsock通讯端口号winsock_a.object.localport=6001//本机的winsock通讯端口号winsock_a.object.bind//绑定通讯协议在乙方(本机地址为:134.1.1.2)窗口的Open事件中加入如下语句:winsock_b.object.protocol=1//winsock通讯协议设为UDP协议winsock_b.object.remotehost="134.1.1.1"//对方的ip地址winsock_b.object.remoteport=6001//对方的winsock通讯端口号winsock_b.object.localport=6000//本机的winsock通讯端口号winsock_b.object.bin//绑定通讯协议2.TCP协议设置:TCP协议在通讯前需要进行连接。
在VB中使用Winsock控件建立基于UDP协议的应用程序周娟;陈向华
【期刊名称】《成都电子机械高等专科学校学报》
【年(卷),期】2005(000)002
【摘要】微软公司的面向对象程序开发软件VB(Visual Basic),是主流程序开发工具之一.其主要的特色之一,是VB所提供的网络类控件在实际的开发过程中具有很大的实用性和灵活性.本文旨在讨论在实际的开发过程中,如何使用VB的Winsock 控件建立基于UDP协议的应用程序.
【总页数】4页(P17-20)
【作者】周娟;陈向华
【作者单位】成都电子机械高等专科学校,四川,成都,610031;成都电子机械高等专科学校,四川,成都,610031
【正文语种】中文
【中图分类】TP3
【相关文献】
1.Vb6.0中使用Winsock控件 [J], 赵洪利;宋连友
2.在VB中基于Winsock控件实现网络围棋对弈 [J], 沙孟春;倪世宏
3.使用Winsock控件编写UDP应用程序 [J], 许兰兰
4.基于VB中Winsock控件的网上象棋系统的实现 [J], 马根峰;孙艳;王平
5.浅谈VB中Winsock控件的使用 [J], 铁锐
因版权原因,仅展示原文概要,查看原文内容请购买。