VB中Winsock控制的UDP协议的使用
WWW_P※LCJS_CO※M-PLC-技-.术_网
工业控制中,有的设备即支持tcp也支持udp,如果可靠性要求高,建议采用tcp,如果可靠性要求较低,而对速度的要求高,可以尝试采用udp来实现。下面介绍udp的一个简单的例子供大家参考。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
W1WW_P4LCJS_COM-PLC-技.术_网
UDP协议基础: WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
UDP(User Datagram Protocol)是一种无连接协议,与TCP操作不同,计算机间并不需要建立一个连接,同时,一个UDP应用可同时作为应用的客户或服务器方。 W1WW_P4LCJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
由于UDP协议并不需要建立一个明确的连接,因此建立UDP应用要比建立TCP应用简单得多。在TCP应用中,一个Winsock控制必须明确地设置成“监听”,而其它Winsock控制则必须使用Connect方法来初始一个连接。 P.L.C.技.术.网——可编程控制器技术门户
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
使用UDP协议,在两个Winsock控制间进行数据的发送,在连接的两端必须完成以下三步: WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
1.设置RemoteHost属性为其它计算机的名称; WWW_PL※CJS_COM-PLC-技.术_网
2.设置RemotePort属性为第二个Winsock控制的LocalPort属性的值; ——可——编——程——控-制-器-技——术——门——户
3.申请Bind方法。 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
通过使用方法Bind,则可将该Winsock控制捆绑到一个本地端口,以便该Winsock控制使用该端口来进行类似TCP的“监听”功能,并防止其它应用使用该端口。 plcjs.技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
使用该协议传送数据,首先设置客户计算机的LocalPort属性。而作为服务器的计算机仅需要设置RemoteHost属性为客户计算机的IP地址或域名即可,并将其RemotePort属性设置成客户计算机上的LocalPort属性即可,然后就可通过申请SendData方法来开始信息发送,客户计算机则可在其DataArrial事件中使用方法GetData来获取发送的信息。 WWW_P※LCJS_COM-PLC-)技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
下例具体演示了一个“谈话”应用,以允许相互间进行实时的交谈。 WWW_P※LCJS_COM-PLC-)技.术_网
UDP应用一: WW.W_PLC※JS_C,OM-PL,C-技.术_网
建立一个新标准EXE工程文件,拖放一个Winsock控制到表单上,添加两个文本框到表单上,然后进行以下属性的设置: WWW_PL※CJS_COM-PLC-技.术_网
表单(Form):Name=“frmPeerA” Caption=“UDP Application(1)” WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Winsock控制:Name=“udpPeerA” Protocol=“sckUDPProtocol” WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
文本框1(TextBox): Name“txtSend” WWW_P※LCJS_COM-PLC-)技.术_网
文本框2(TcxtBox): Name=“txtOutput” MultiLine-True ScrollBars=2 W1WW_P4LCJS_COM-PLC-技.术_网
然后打开代码窗口,分别在相应的事件下输入以下代码: WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
Private Sub Form_Load() WWW_P※LCJS_CO※M-PLC-技-.术_网
With udpPeerA WWW.PLCJS.COM——可编程控制器技术门户
.RemoteHost=“197.1.1.2” 要连接到的计算机名 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
.RemotePort=1010 要连接到的端口号 plcjs.技.术_网
.LocalPort=1011 该Winsock控制将要使用的本地端口号,便于其它端与该Winsock通讯 WW.W_PLCJS_COM-PLC-技.术_网
.Bind 1011 将该Winsock控制绑定到该本地端口 ——可——编——程——控-制-器-技——术——门——户
EndWith WWW_PL※CJS_COM-PLC-技.术_网
End Sub WWcW_PLCJS_COM-PLC-技.术_网
Private Sub txtSend_Change() WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
udpPeerA.SendData txtSend.Text发送文本 ——可——编——程——控-制-器-技——术——门——户
End Sub ——可——编——程——控-制-器-技——术——门——户
Private Sub udpPeerA_DataArrival(ByVal bytesTotal As Long) WWW_PLC※JS_COM-PmLC-技.术_网
Dim strData As String WWW_PLCJS@_COM%-PLC-技.术_网
udpPeerA.GetData strData,vbString WWcW_PLCJS_COM-PLC-技.术_网
txtOutput.Text = strData P.L.C.技.术.网——可编程控制器技术门户
End SubWW.W_PLC※JS_C,OM-PL,C-技.术_网
以下是对《VB中Winsock控制的UDP协议》的回复:
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
匿名回复:P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
haha ,又学到新知识啦!~感谢啊!~ WWW_PL※CJS_COM-PLC-技.术_网
匿名回复:WW.W_PLC※JS_C,OM-PL,C-技.术_网
中国外贸通一个值得看的信息平台,"创造生意机会"是我们的经营理念.plcjs.技.术_网
"价值最大化,贸易全球化" 是我们追求的价值目标.为您创造更多的生机会.WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
http://china.53trade.com/?llp102 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
匿名回复:WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)