Winsock技术在远程监控中的应用[图]

2016-02-19 12:41 5 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐Winsock技术在远程监控中的应用[图],无聊中的都看过来。

【 tulaoshi.com - 编程语言 】

摘要:本文根据Winsock技术及网络通信原理, 利用VC++编程技术,通过网络数据传输在客户端得到实时温度运行图形,实现了对人工气候室温度运行状况的远程监控, 满足了低成本、高效率的实时自动化要求。1 引言 随着网络技术的不断发展进步,网络对整个社会产生了深远的影响。由此也出现了以网络为基础的监控治理新框架。实现基于网络的设备远程监控,成了目前计算机网络应用领域中的一个热点问题。利用套接字技术,通过Socket实现网络之间的连接和数据交换,实现对设备的远程监控,具有很好的应用前景。 2 人工气候室远程监控系统的特点及实现2.1通信接口-----套接字的创建本文所要实现的是对一个小型人工气候室的远程监控,在异地或同一个局域网范围内,可以不必亲临现场就可以观测到人工气候室当前的温度状况和运行中的温度曲线,由于在远端只是需要查询和观察,因此只要处理好现场监控计算机和远端客户机之间的通信和数据传输就可以了。这样不用占用现场计算机的CPU处理时间,从而能节省资源以便做更多的处理现场的工作。和远端服务器的连接可以分为以下几个过程:(1) 服务进程总是先于客户进程启动,服务进程首先创造套接字。(2) 将本地地址绑定到所创建的套接字上以使在网络上标识该套接字。 (3) 将套接字置于监听模式并预备接受连接请求。(4) 客户端创建套接字,调用SOCKET函数,方法同上。(5) 客户向服务器提出连接请求。(6) 当请求到来时,被阻塞服务进程的accept()函数如(3)中所述生成一个新的套接字与客户端建立连接,并向客户端返回接收信号。(7) 一旦客户机的套接字收到来自服务器的接收信号,则表示客户机与服务器的连接已就绪,则可以进行数据传输了。(8) 关闭套接字。一旦任务完成,就必须关掉连接已释放套接字占用的资源。创建连接的服务器端和客户端代码简述如下:服务器端:void CServerView::OnStart ()
  { Started=TRUE;
  m_Start.EnableWindow(!Started);
  try
  { g_sListen.Create(6802,SOCK_DGRAM,NULL);
  g_sListen.Bind(6802,m_IP);//,6802为端口号,m_IP为服务器端IP地址
  g_sListen.Listen();
  ((CServerDoc*)GetDocument())-g_pchatListen=new CChatLsnSock(
  (CAnyServerDoc*)GetDocument());
  CChatLsnSock* g_pchatListen=((CAnyServerDoc*)GetDocument())-g_pchatListen;
  g_pchatListen-Create(9999,SOCK_STREAM);//侦听聊天室连接套接字创建
  g_pchatListen-Listen();
  GetDlgItem(IDC_RESPONSE)-SetWindowText("开始对客户端服务!");
  }
  服务端开启后的运行界面如图1所示。
  客户端:
  void CClientView::OnClientStart()
  {m_sockRecv.Create(6801,SOCK_DGRAM,m_ClientIP);//6801为端口号,m_ClientIP为客户端IP
  m_sockRecv.Bind(6801,m_ClientIP);
  m_timer1=SetTimer(1,1000,NULL);
  m_timer2=SetTimer(2,250,NULL);
  GetLocalTime(&SysTime);
  m_StartTime=SysTime;
  m_WavePlay.SetStartTime(SysTime.wYear,SysTime.wMonth,SysTime.wDay,SysTime.wHour,SysTime.wMinute,SysTime.wSecond);//画出曲线初始时间
  this-m_CurrentSysTime.SetFocus();
  }
  
Winsock技术在远程监控中的应用[图]
图1:服务器端开启服务运行界面2.2网络中的数据传输与监控实现基于网络的远程控制和测量应用中,一般数据传输采用二进制格式是主丛式,在人工气候室的远程监控系统中,通信双方需要传输的数据流量少,下位机一般是微控制器等嵌入式系统,数据处理能力较慢,通信双方也不必保持紧密联系,因此大多采用UDP协议,基于点对点的方式,双方通信的数据可靠性可以通过定义数据表示格式来保证。另外采用把通过网络传输过来的数据在客户端用曲线的形式重画显示,用了一个本人自做的一个ActiveX控件来显示接收的数据,在数据传输过程中存在的滞后时间很短,可以忽略不计。
   在设备运行时,服务器端的状态一直保持开启,测温元件把测量到的温度值传入到控制微机,同时通过网络传到远程客户端,远程连接通过输入服务器端的IP地址,输入指定的用户名和密码,就可以连接上,从而就实现了远程监控。建立连接后客户端就可以接收发送过来的温度值且用曲线形式显示出来:void CClientView::OnDataReceive()
  {
  extern CListBox* pmyListBox;
  char szTempRecv[20];
  CString szIP(m_IP);//得到服务器端的IP
  UINT uPort=6802;//指出端口
  int iTempRecv=m_sockRecv.ReceiveFrom(szRecv,10,szIP,uPort,0);
  szRecv[iRecv]='

来源:http://www.tulaoshi.com/n/20160219/1601538.html

延伸阅读
标签: ASP
      ASP从发布至今已经7年了,使用ASP技术已经相当成熟,自从微软推出了ASP.NET之后就逐渐停止了对ASP版本的更新。但是由于有很多人仍然习惯使用ASP来开发网站,所以,再次我将以一个简单的例子来说明在ASP中如何使用Cache。 简单的说使用Cache基本原理是,把经常需要且获得代价昂贵的数据在内存中持续保存一定时间,...
网络人远程监控3步隐蔽监控 网络人是国内惟一获得公安部认证,同时,是国内首款可穿透内网、完全免费、并采用U盾安全加密的远程控制软件;并通过国内外几十款权威杀毒软件的安全检查。网络人可实现远程开机、关机,远程控制电脑,快速上传下载、修改文件,语音文字聊天,远程开启摄像头等功能。下面笔者主要介绍如何利用网络人远程监控软件...
监控你手机中滥用数据的应用:Clueful 我们智能手机上装有各种应用,许多应用可能会访问,储存你的私人数据,还可能把你的数据卖给别的开发商,让你防不慎防,什么时候自己的信息泄露的都不知道,所以Bitdefender发布了一款手机应用Clueful,帮助你揪出流氓应用,告诉你,你手机上的应用都对你的手机干了些什么。 应用已在App Store...
标签: autocad教程
1 引言     计算机辅助设计软件Pro/ E 是一个参数化的实体造型软件,不但能生成真实的几何形体,还可进行精确的模型分析,运动分析,干涉检查等。Pro/ E 的参数化特征造型技术大大减轻了设计人员的绘图工作量,提高了产品设计的效率和质量,利用Pro/ E相应的开发工具及技术开发冲压模具计算机辅助设计(CAD) 系统,可实现零件设计、...
大家有没有在LAN中远程的关过人家的电脑呀,或是让人家的电脑不明不白的重启或是注消呢?好像笔者在所有的媒体中都没有看到这项技术哦 ^_^!是不是很想学学怎么样坐在自已的电脑中来管理别人的计算机,那好吧,跟笔者来关机吧! 在LAN要实现远程关机,并不难,也不需要什么其它的第三方的软件支持,完全就是一个“绿色关机”。但是有...