在VB中使用UDP协议

Lyd__破晓

Lyd__破晓

2016-02-19 21:10

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享在VB中使用UDP协议教程,希望对大家能有一点小小的帮助。
UDP协议基础:
  
  UDP(UserDatagramProtocol)是一种无连接协议,与TCP操作不同,计算机间并不需要建立一个连接,同时,一个UDP应用可同时作为应用的客户或服务器方。
  由于UDP协议并不需要建立一个明确的连接,因此建立UDP应用要比建立TCP应用简单得多。在TCP应用中,一个Winsock控制必须明确地设置成“监听”,而其它Winsock控制则必须使用Connect方法来初始一个连接。
  
  使用UDP协议,在两个Winsock控制间进行数据的发送,在连接的两端必须完成以下三步:
  1.设置RemoteHost属性为其它计算机的名称;
  2.设置RemotePort属性为第二个Winsock控制的LocalPort属性的值;
  3.申请Bind方法。
  
  通过使用方法Bind,则可将该Winsock控制捆绑到一个本地端口,以便该Winsock控制使用该端口来进行类似TCP的“监听”功能,并防止其它应用使用该端口。
  
  使用该协议传送数据,首先设置客户计算机的LocalPort属性。而作为服务器的计算机仅需要设置RemoteHost属性为客户计算机的IP地址或域名即可,并将其RemotePort属性设置成客户计算机上的LocalPort属性即可,然后就可通过申请SendData方法来开始信息发送,客户计算机则可在其DataArrial事件中使用方法GetData来获取发送的信息。
  
  下例具体演示了一个“谈话”应用,以允许相互间进行实时的交谈。
  
  UDP应用一:
  
  建立一个新标准EXE工程文件,拖放一个Winsock控制到表单上,添加两个文本框到表单上,然后进行以下属性的设置:
  
  表单(Form):Name=“frmPeerA”Caption=“UDPApplication(1)”
  Winsock控制:Name=“udpPeerA”Protocol=“sckUDPProtocol”
  文本框1(TextBox):Name“txtSend”
  文本框2(TcxtBox):Name=“txtOutput”MultiLine-TrueScrollBars=2
  
  然后打开代码窗口,分别在相应的事件下输入以下代码:
  PrivateSubForm_Load()
  WithudpPeerA
  .RemoteHost=“197.1.1.2”'要连接到的计算机名
  .RemotePort=1010'要连接到的端口号
  .LocalPort=1011'该Winsock控制将要使用的本地端口号,便于其它端与该Winsock通讯
  .Bind1011'将该Winsock控制绑定到该本地端口
  EndWith
  EndSub
  PrivateSubtxtSend_Change()
  udpPeerA.SendDatatxtSend.Text'发送文本
  EndSub
  PrivateSubudpPeerA_DataArrival(ByValbytesTotalAsLong)
  DimstrDataAsString
  udpPeerA.GetDatastrData,vbString
  txtOutput.Text=strData
  EndSub
  
  UDP应用二:
  
  类似建立UDPServer的方法,在表单上添加一个Winsock控制及两个文本框,然后进行以下属性的设置:
  
  表单(Form):Name=“frmPeerB”Caption=“UDPApplication(2)”
  Winsock控制:Name=“udpPeerB”Protocol=“sckUDPProtoclool”
  文本框1(TextBox):Name=“txtSend”
  文本框2(TextBox):Name=“txtOutput”MultiLine=TrueScrollBars=2
  
  然后输入以下代码:
  PrivateSubForm_Load()
  WithudpPeerB
  .RemoteHost=“197.1.1.2”'要连接到计算机的IP地址
  .RemotePort=1011'要连接到的端口号
  .LocalPort=1010'该Winsock控制将使用的本地端口号,便于其它方与之通讯
  .Bind1010'将该Winsock控制绑定到该本地端口
  EndWith
  EndSub
  PrivateSubtxtSend_Change()
  udpPeerB.SendDatatxtSend.Text'发送文本
  EndSub
  PrivateSubudpPeerB_DataArrival(ByValbytesTotalAsLong)
  DimstrDataAsString
  udpPeerB.GetDatastrData,vbString
  txtOutput.Text=strData
  EndSub
  
  要运行该实例,打开两个VisualBasic的事例,然后分别运行这两个工程文件即可。若要在不同的机器上运行此两例,只需要将两个工程文件中的RemoteHost改变成相应的计算机的IP地址或域名即可。->

展开更多 50%)
分享

猜你喜欢

在VB中使用UDP协议

编程语言 网络编程
在VB中使用UDP协议

在VB中利用UDP协议编写聊天程序

编程语言 网络编程
在VB中利用UDP协议编写聊天程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VB中Winsock控制的UDP协议的使用

编程语言 网络编程
VB中Winsock控制的UDP协议的使用

在VB中使用文件对象

编程语言 网络编程
在VB中使用文件对象

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在VB中使用API函数(Any)

ASP
在VB中使用API函数(Any)

在Java中实现UDP协议编程的方法

编程语言 网络编程
在Java中实现UDP协议编程的方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用VB5读写注册表实例

用VB5读写注册表实例

做个“网络助手”程序

做个“网络助手”程序
下拉加载更多内容 ↓