VB 在远程管网数据传输中的应用[组图](2)
此外VB中WINSOCK控件可实现点到点的通信。这样可以与远程测控终端点一一建立通信。
因此通过编写VB程序来将远程测控终端和上位机组态软件衔接起来是个很好的选择。流程如下图所示:
具体通信程序主要包括二大部分:
一、VB与远程测控终端的通信
Winsock控件允许我们采用TCP协议进行通信。TCP协议允许建立并维持同远端主机的连接。利用此种方式的客户必须要知道服务器的名字(RemoteHost属性),也要知道服务器正监听(Listening)的端口(RemotePort),然后调用Connect方法。服务器程序则必须设置本Scoket的监听端口(LocalPort),然后调用Listen方法;当客户要求建立一个连接时,服务器方产生ConnectionRequest事件,如果服务器想完成连接,则调用Accept方法认可。一旦连接建立成功,双方计算机都能利用SendData方法发送。当接收到数据时,发生DataArrival事件,我们可以在此事件中调用GetData方法接收数据。
因此首先在远程测控终端(CDMA 设备)内设置好服务器的公网IP 地址和端口号。然后在VB 程序中将Winsock控件的Remoteport 项属性的端口号与CDMA设备的端口号一一对应,套接字类型protocol 选 scktcpprotocol,
具体编程主要用到下面二段语句:
请求连接:
Private Sub Winsock1_ConnectionRequest _(ByVal requestID As Long)
Winsock1.Accept requestID