UDP连接入门
创建一个UDP应用程序比创建TCP程序更简单,因为UDP协议不需要一个确定的连接。在上面的TCP应用程序中,其中一个Winsock控件必须明确的被设置为“监听”,而另一个必须用连接方法发起连接。
相反,UDP协议不需要明确的连接。要在2个控件之间传送数据,(连接的双方)必须完成三个步骤:
确定远程主机属性为对方的计算机名;
确定远程主机属性为第二个控件的本地端口属性;
调用约定方法指定要被使用的本地端口。(下面将详细讨论该方法)
创建一个的UDP连接端
创建一个标准EXE工程;
将默认窗体命名为frmPeerA;
在窗体中添加一个Winsock控件,命名为udpPeerA;
在属性(Properties)页,单击协议(Protocol),改为UDPProtocol;
添加2个文本框控件窗体中,分别命名为txtSend和txtOutput;
在窗体中添加下面代码:
创建第二个UDP连接端
添加标准窗体到工程中;
将窗体名改为frmPeerB;
将窗体标题改为Peer B;
在窗体中添加一个Windsock控件并命名为udpPeerB;
在属性页中单击Protocol,改为UDPProtocol;
添加2个文本框到窗体中,分别命名为txtSend和txtOutput;
在窗体中添加下面代码:
关于约定方法
上面代码中所涉及的,在创建UDP应用程序时必须调用约定方法。这个约定的方法保留了控件用到的本地端口。例如,当你绑定控件到端口1001时,其他的应用程序都不能用该端口监听。当你希望阻止其他的应用程序使用某端口的时候,这个就很有用。
这个约定方法也引起了争议。如果机器里有多个网络适配器,本地IP允许你指定用哪个适配器。如果你忽略了这个争议性问题,控件就会使用计算机控制面板设置中,在网络控制面板对话框里列出的第一个网络适配器。
在使用UDP协议时,你可以自由的切换远程主机和远程端口属性,同时保留本地端口范围。但是在使用UDP协议时,你必须在改变远程主机和远程端口属性时关闭连接。URL:http://www.qqread.com/vb/i230127002.html
更多内容请看网络管理实用手册、网络故障手册、网络组网专题专题,或进入讨论组讨论。
创建一个UDP应用程序比创建TCP程序更简单,因为UDP协议不需要一个确定的连接。在上面的TCP应用程序中,其中一个Winsock控件必须明确的被设置为“监听”,而另一个必须用连接方法发起连接。
相反,UDP协议不需要明确的连接。要在2个控件之间传送数据,(连接的双方)必须完成三个步骤:
确定远程主机属性为对方的计算机名;
确定远程主机属性为第二个控件的本地端口属性;
调用约定方法指定要被使用的本地端口。(下面将详细讨论该方法)
创建一个的UDP连接端
创建一个标准EXE工程;
将默认窗体命名为frmPeerA;
在窗体中添加一个Winsock控件,命名为udpPeerA;
在属性(Properties)页,单击协议(Protocol),改为UDPProtocol;
添加2个文本框控件窗体中,分别命名为txtSend和txtOutput;
在窗体中添加下面代码:
| Private Sub Form_Load() ' The control's name is udpPeerA With udpPeerA ' IMPORTANT: be sure to change the RemoteHost ' value to the name of your computer. .RemoteHost= "PeerB" .RemotePort = 1001 ' Port to connect to. .Bind 1002 ' Bind to the local port. End With frmPeerB.Show ' Show the second form. End Sub Private Sub txtSend_Change() ' Send text as soon as it's typed. 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连接端
添加标准窗体到工程中;
将窗体名改为frmPeerB;
将窗体标题改为Peer B;
在窗体中添加一个Windsock控件并命名为udpPeerB;
在属性页中单击Protocol,改为UDPProtocol;
添加2个文本框到窗体中,分别命名为txtSend和txtOutput;
在窗体中添加下面代码:
| Private Sub Form_Load() ' The control's name is udpPeerB. With udpPeerB ' IMPORTANT: be sure to change the RemoteHost ' value to the name of your computer. .RemoteHost= "PeerA" .RemotePort = 1002 ' Port to connect to. .Bind 1001 ' Bind to the local port. End With End Sub Private Sub txtSend_Change() ' Send text as soon as it's typed. 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应用程序时必须调用约定方法。这个约定的方法保留了控件用到的本地端口。例如,当你绑定控件到端口1001时,其他的应用程序都不能用该端口监听。当你希望阻止其他的应用程序使用某端口的时候,这个就很有用。
这个约定方法也引起了争议。如果机器里有多个网络适配器,本地IP允许你指定用哪个适配器。如果你忽略了这个争议性问题,控件就会使用计算机控制面板设置中,在网络控制面板对话框里列出的第一个网络适配器。
在使用UDP协议时,你可以自由的切换远程主机和远程端口属性,同时保留本地端口范围。但是在使用UDP协议时,你必须在改变远程主机和远程端口属性时关闭连接。URL:http://www.qqread.com/vb/i230127002.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询



