首页  |   行业动态  |   运营商  |   服务商  |   运维专题  |   标准规范  |   会议活动  |   电子期刊  |   运维俱乐部  |   通信网络运维专业委员会  
网络维护 网络优化 网络安全 网管及支撑系统 运维管理 IT运维 动力设备与监控 安全生产  |  3G NGN WIMAX IPV6
2008年第十七届中国国际信息通信展览会人力资源招聘会 2008中国通信光电线缆产业高层论坛 第四届中国通信网络代维(外包)服务高级研讨会回顾
COMCW首页 > 运维专题 > 动力设备与监控 >Winsock技术在远程监控中的应用
 
Winsock技术在远程监控中的应用
www.comcw.cn 2007-05-11 23:58  来源:天极网

摘要:本文根据Winsock技术及网络通信原理, 利用VC++编程技术,通过网络数据传输在客户端得到实时温度运行图形,实现了对人工气候室温度运行状况的远程监控, 满足了低成本、高效率的实时自动化要求。

关键词: Winsock 套接字;远程监控;人工气候室;数据传输

        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();
}

图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]='\0';
 m_szRecv=szTempRecv;
 m_listBox.AddString((LPCTSTR)m_szRecv);
 int nCount=m_listBox.GetCount();
 if (nCount > 0)
  m_listBox.SetCurSel(nCount-1);
  GetLocalTime(&SystemTime);
  m_NowTime=SystemTime;
  CString strSysTime;
  strSysTime.Format(_T("%d-%d-%d %d:%d:%d"),SystemTime.wYear,SystemTime.wMonth,
SystemTime.wDay,SystemTime.wHour,
SystemTime.wMinute,SystemTime.wSecond);
  UpdateData(FALSE);
  CurABSTime=(m_NowTime-m_StartTime).GetTotalSeconds();
  m_WavePlay.SetPoint2(CurABSTime,atoi(m_szRecv));//用自做ActiveX控件画出温度曲线

         完成后通过远程登录看到的运行界面如图2所示。

         3 结束语

         在实际应用中,程序还有聊天功能、查看远程屏幕功能、文件的上传和下载功能,从而更方便与远端进行通信。另外在连接时采用密码和用户名印证方法,从而使监控更加有力,并防止不法用户登录和篡改数据。本论文人工气候室是与韶关医疗器械厂合作的用于生物培养的项目,目前已经投入使用并在区内通过局域网实现了对设备的监控。


图2 当前服务器端人工气候室温度运行情况

 
【 责任编辑:郭智信 】【打印】【关闭
 
相关文章
中国通信运维网版权与免责声明:

① 凡本网注明"稿件来源:中国通信运维网"的所有文字、图片和音视频稿件,版权均属中国通信运维网所有,任何媒体、 网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本网协议授权的媒体、网站,在下载 使用时必须注明"稿件来源:中国通信运维网",违者本网将依法追究责任。

② 本网未注明"稿件来源:中国通信运维网"的文/图等稿件均为转载稿,本网转载出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并 自负版权等法律责任。如擅自篡改为"稿件来源:中国通信运维网",本网将依法追究责任。如对稿件内容有疑议,请及时与我们联系。

③ 如本网转载稿涉及版权等问题,请作者在两周内速来电或来函与中国通信运维网联系。
热点关注
·机房安全
·通信线路施工维护安全技术
·畅通网络沟通无限 中国移动吉林公司长...
·电信运营业安全生产
·电信运维服务向精细化方向发展
·复杂运维简单化
·电子运维系统:运维管理体系的全面解决...
·通信运营商代维管理系统
·GPRS几种状态的分析
·电信行业运维服务优化解决方案概述
最新动态
·河南网通“宽视界”助建和谐城市
·安庆铁通建立环境监控系统实现无人智能...
·基站浮充电压的整定值偏差对保有容量的...
·关于提高电池运行质量和降低成本的建议
·对电池提前失效原因的分析
·抓住机房节能的“七寸”
·通信机房专用空调自适应节能监控技术
·华强通信机房节能温度控制换气系统
·电源管理要过节能降耗关
·机房 / 基站节能应用组网方案

中国通信运维网简介    |    About COMCW    |    广告服务    |    联系我们    |    招聘信息    |     友情链接     |     京ICP证070516号
Copyright© 2006 - 2007 Comcw.cn Corporation, All Rights Reserved
中国通信运维网  北京中通运科技有限公司 版权所有