Visual C++实现对计算机远程监控
2008-11-14 19:33:26 来源:WEB开发网引言
在工程施工中经常遇到中心主控机房和工程现场相分离的情况,这就需要工程设计人员经常往返于中心机房与工程现场之间,有时甚至为了修改几个数据也要相关人员的现场操作才能解决。而且也不能很好的对工程现场进行实时的监测,这就为工程施工与系统的维护带来了极大的不便。现在局域网的技术已相当成熟,在中心机房和工程现场之间构建一个局域网也并不困难。所以我们可以在局域网的物理架构基础之上通过Socket套接字来实现计算机之间的通讯,使维护人员能在中心机房内足不出户就可以实时地监测、控制远在工程现场的计算机的工作状态。本文就对类似程序的实现方法进行简单的介绍。
Socket网络程序的一般思路
Windows Sockets 规范定义了一个基于 Microsoft Windows 的网络编程界面,它源于加里弗尼亚大学伯克利分校的伯克利软件发布(BSD)。它既包括熟悉的伯克利 Socket 风格的例程,也包括了一组 Windows 特有的扩展,使程序员可以利用Windows 原有的消息驱动机制进行网络方面的编程。而此类程序中最常用的一种模式就是客户/服务器模式。在这种框架中,客户应用程序向服务器应用程序请求服务。服务器应用程序一般在一个周知地址上侦听(listen)服务请求。就是说,直到一个客户向服务器发出联接请求之前,服务器进程进程是休眠的。收到请求时,服务器进程"醒来(wake up)",完成客户请求的相应的活动。
套接字共有三种类型:流式套接字,数据报套接字以及原始套接字等。流式套接字定义了一种可靠的面向连接的服务,实现了无差错无重复的顺序数据传输;数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠;原始套接字则允许对低层协议如IP或ICMP等协议进行直接访问,主要用于对新的网络协议实现的测试等。无连接服务器一般都是面向事务处理的,一个请求一个应答就完成了客户程序与服务程序之间的相互作用。而面向连接服务器处理的请求往往比较复杂,不是一来一去的请求应答所能解决的,而且往往是并发服务器。
更多精彩
赞助商链接