UDP协议的通讯建立

网络 网络管理
下文摘要:文中,我们对UDP协议的通讯进行了操作。没有连接,如何完成UDP的通讯呢?这也是本文的核心话题,让我们一起来看看吧。

UDP协议是网络传输协议。那么UDP如何进行传输呢?如何完成两个主机的通讯呢?下面我们就来分析一下。我们都知道,UDP协议是一种无连接协议,两台计算机之间的数据传输类似于传递邮件:消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接。 由于UDP协议不需要显式的连接,就需要在两个Winsock控件中间发送数据,关键需要完成以下的三步:

1.将RemoteHost属性设置为另一台计算机的名称。

2.将RemotePort属性设置为第二个控件的LocalPort属性。

3.调用Bind方法,指定使用的LocalPort。

因为两台计算机的地位可以看成“对等的”,这种应用程序也被称为点对点的应用程序。

下面将创建一个聊天应用程序,两个人可以通过它进行实时的交谈。请按照以下步骤制作:

1.创建一个新的Standard EXE工程。将缺省的窗体的名称修改为frmPeerA,将窗体的标题修改为“Peer A”。

2.在窗体中放入一个Winsock控件,并将其命名为udpPeerA。在“属性”页上,单击“协议”并将协议修改为 UDPProtocol。

3.在窗体中添加两个TextBox控件。将第一个命名为txtSend,第二个命名为txtOutput。

4.为窗体添加如下的代码。

Private Sub Form_Load() 
′控件的名字为udpPeerA
With udpPeerA
′重点:必须将 RemoteHost 的值修改为对方计算机的名字。
RemoteHost= ″PeerB″
RemotePort = 1001 ′连接的端口号。
Bind 1002 ′绑定到本地的端口。
End With
frmPeerB.Show′显示第二个窗体。
End Sub
Private Sub txtSend_Change()
′在键入文本时,立即将其发送出去。
udpPeerA.SendData txtSend.Text
End Sub
Private Sub udpPeerA_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
udpPeerA.GetData strData
txtOutput.Text = strData
End Sub

我们要创建第二个UDP伙伴,请按照以下步骤执行:

1.在工程中添加一个标准窗体,将窗体的名字修改为 frmPeerB,将窗体的标题修改为“Peer B”。

2.在窗体中放入一个 Winsock 控件,并将其命名为 udpPeerB。

3.在“属性”页上,单击“协议”并将协议修改为“UDPProtocol”。

4.在窗体上添加两个 TextBox 控件。将第一个命名为 txtSend,第二个命名为 txtOutput。

5.在窗体中添加如下代码

Private Sub Form_Load() 
′控件的名字为 udpPeerB。
With udpPeerB
′重点:必须将RemoteHost的值改为对方计算机的名字。
RemoteHost= ″PeerA″
RemotePort = 1002 ′要连接的端口。
Bind 1001 ′绑定到本地的端口上。
End With
End Sub
Private Sub txtSend_Change()
′在键入后立即发送文本。
udpPeerB.SendData txtSend.Text
End Sub
Private Sub udpPeerB_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
udpPeerB.GetData strData
txtOutput.Text = strData
End Sub

到此,UDP协议的通讯就建立好了。我们可以运行工程,然后在两个窗体的txtSend TextBox中分别键入一些文本。键入的文字将出现在另一个窗体的txtOutput TextBox中。

责任编辑:佟健 来源: IT168
相关推荐

2010-07-06 15:16:34

UDP协议

2013-08-01 10:01:02

网络协议TCP协议UDP协议

2014-06-13 13:47:31

UDP

2010-06-28 15:45:07

UDP协议

2010-07-08 12:42:34

UDP协议

2020-01-03 07:57:39

UDPTCP网络协议

2010-07-05 16:17:18

UDP协议

2010-07-09 09:29:00

UDP协议

2010-07-01 16:55:03

UDP协议

2010-07-07 11:17:01

UDP协议应用

2010-06-11 14:18:59

通讯协议

2011-08-19 15:32:06

2010-07-13 09:47:22

HART协议

2010-07-12 15:40:24

2010-07-12 14:41:35

UDP协议

2010-07-06 15:28:57

UDP协议基础

2010-07-08 12:58:03

UDP协议

2010-07-09 11:12:09

UDP协议

2010-06-12 15:30:57

UDP协议

2010-07-06 15:10:05

UDP协议
点赞
收藏

51CTO技术栈公众号