ARM设计的高速数据采集远程监控系统技术
int Net— Send— SysConfig(int Conn—ID,char Cmdname)
∥向服务器反馈工作状态即执行服务器下达的命令情况
∥Conn—ID为已经建立的套接字描述符
{
status=write(Conn—ID,sendbuff,len);
∥向服务器发送信息
}
④ Read()函数:从套接字缓冲区读取数据
int Receive_ Command(int Conn—ID)
{
return len=read(Conn—ID,NetBuf,REC—BUFF_SIZE);
∥成功返回实际收到的字节总数,出错返回一1
}
⑤ Close()函数:用于关闭一个套接字描述符。
close(Socket—ID); //关闭连接下位机的开发都是在Linux环境下用交叉编译器ARM.Linux—gcc编译通过。
4 上位机的通信实现
服务器监控软件是用Visual Basic 6.0来编写的。在Visual Basic(以下简称VB)中,进行网络通信开发是非常方便的。VB除了提供丰富的控件外,还提供了各种API来进行更为高级的运用程序的开发。本装置通过Winsock控件进行网络开发。Winsock控件对用户是不可见的,它提供了访问TCP和UDP网络服务的方便途径。在编写客户或服务器运用程序时,不必了解TCP的细节或低级的Win—sock API。通过设置控件的属性并调用其方法就可连接到一个远程客户/服务器端,并且双向交换数据。
在本系统中作为服务器的运用软件,在Winsock控件的属性设置上要注意:
① Protocol属性。返回或设置Winsock控件所使用的协议(TCP或UDP)。
UDPFrmMain.Winsock— Server.Protocol:sckTCPProtocol
∥选择TCP协议,提高数据传输的可靠性
② LocalPort属性。返回或设置所用到的本地端口。对客户来说,该属性指定发送数据的本地端口;对于服务器来说,是指定侦听的本地端口。
FrmMain.W insock— Server.LocalPort=LocalPort— ID∥服务器端口号,最好大于1 000
③ State属性。返回控件的状态,设计时只读。用在判断监控网络状态,根据状态改变各个按键指示
灯的状态,提高操作安全性。其设置如下:
Connected— State=FrmMain.W insock— Server.State
Select Case Connected— State
Case 0 StatusBar1.Panels(3).Text= “关闭”
Case 1 StalusBar1.Panels(3).Text=“打开”
Case 2 StatusBar1.Panels(3).Text=“侦听”
4.1 Winsock控件方法
Winsock控件方法主要有以下几种:
① Listen方法。在运用程序初始化时创建套接
字并将其设置为侦听状态,等待客户机的连接请求。
Private Sub Form_ Load()
FrmMain.Winsock— Server.Listen
End Sub
② Accept方法。当有新连接时就会出现ConnectionRequest
tcp/ip相关文章:tcp/ip是什么
评论