VisualC实现对计算机远程监控.docx

VisualC实现对计算机远程监控.docx

ID:57379303

大小:101.02 KB

页数:18页

时间:2020-08-14

VisualC实现对计算机远程监控.docx_第1页
VisualC实现对计算机远程监控.docx_第2页
VisualC实现对计算机远程监控.docx_第3页
VisualC实现对计算机远程监控.docx_第4页
VisualC实现对计算机远程监控.docx_第5页
资源描述:

《VisualC实现对计算机远程监控.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VisualC++实现对计算机远程监控————————————————————————————————作者:————————————————————————————————日期:VisualC++实现对计算机远程监控  摘要:本文讲述了利用Socket套接字进行网络编程的一般技术,并通过该技术实现了对计算机的远程监控。   关键字:Socket套接字、服务器、客户端、远程监控   引言   在工程施工中经常遇到中心主控机房和工程现场相分离的情况,这就需要工程设计人员经常往返于中心机房与工程现场之间,有时甚至为了修改几个数据也要相关

2、人员的现场操作才能解决。而且也不能很好的对工程现场进行实时的监测,这就为工程施工与系统的维护带来了极大的不便。现在局域网的技术已相当成熟,在中心机房和工程现场之间构建一个局域网也并不困难。所以我们可以在局域网的物理架构基础之上通过Socket套接字来实现计算机之间的通讯,使维护人员能在中心机房内足不出户就可以实时地监测、控制远在工程现场的计算机的工作状态。本文就对类似程序的实现方法进行简单的介绍。   Socket网络程序的一般思路   WindowsSockets规范定义了一个基于MicrosoftWindows的网络编程界面,它

3、源于加里弗尼亚大学伯克利分校的伯克利软件发布(BSD)。它既包括熟悉的伯克利Socket风格的例程,也包括了一组Windows特有的扩展,使程序员可以利用Windows原有的消息驱动机制进行网络方面的编程。而此类程序中最常用的一种模式就是客户/服务器模式。在这种框架中,客户应用程序向服务器应用程序请求服务。服务器应用程序一般在一个周知地址上侦听(listen)服务请求。就是说,直到一个客户向服务器发出联接请求之前,服务器进程进程是休眠的。收到请求时,服务器进程"醒来(wakeup)",完成客户请求的相应的活动。   套接字共有三种类型

4、:流式套接字,数据报套接字以及原始套接字等。流式套接字定义了一种可靠的面向连接的服务,实现了无差错无重复的顺序数据传输;数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠;原始套接字则允许对低层协议如IP或ICMP等协议进行直接访问,主要用于对新的网络协议实现的测试等。无连接服务器一般都是面向事务处理的,一个请求一个应答就完成了客户程序与服务程序之间的相互作用。而面向连接服务器处理的请求往往比较复杂,不是一来一去的请求应答所能解决的,而且往往是并发服务器。   本文所采用的就是面向连接的套接字

5、,其工作过程如下:服务器首先启动,通过调用socket()建立一个套接字,然后调用bind()将该套接字和本地网络地址联系在一起,再调用listen()使套接字做好侦听的准备,并规定它的请求队列的长度,之后就调用accept()来接收连接。客户在建立套接字后就可调用connect()和服务器建立连接。连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。最后,待数据传送结束后,双方调用close()关闭套接字。其主要的流程时序可以通过图1来表示:服务器端程序设计实现 由于我们的目的是通过在位于中心

6、机房的客户端来监控远程的服务器端,而根据前面介绍的面向连接套接字应用程序的工作方式,要求服务器必须先于客户端而运行。所以根据实际需要,我们应当让服务器程序能自启动。一般有三种方法:在Autoexec.bat里添加代码;在Win.ini的Run项里添加启动路径;在注册表里添加键值。本文在此采用后一种方法,通过向注册表的Software\Microsoft\Windows\CurrentVersion\Run下添加键值的方式来实现,另外也可以在RunServer下添加键值实现之:…… //设定待添加的注册表的路径 LPCTSTRRg

7、spath="Software\Microsoft\Windows\CurrentVersion\Run"; …… //获取系统路径 GetSystemDirectory(SysPath,size); GetModuleFileName(NULL,CurrentPath,size); …… //把服务程序从当前位置拷贝到系统目录中 FileCurrentName=CurrentPath; FileNewName=lstrcat(SysPath,"\System_Server.exe"); ret=CopyFile(FileCu

8、rrentName,FileNewName,TRUE); …… //打开键值 ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,Rgspath,0,KEY_WRITE,&hKEY);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。