APP下载

基于Winsock的网络远程主机监控系统的设计

2018-01-23郑长亮

中国科技纵横 2017年24期
关键词:远程控制

郑长亮

摘 要:本文介绍的是一个基于局域网络的远程开发控制应用:网络远程计算机监控系统。这个系统中主要是基于点对点通讯的Winsock技术。该网络监控系统运行于加载TCP/IP协议的Windows网络,主要在局域网上实现网络屏幕监控和远程控制,并同时实现多媒体信息广播的目的。它专门针对局域网络开发,可以非常方便地完成电脑网络监控任务,包括屏幕图像监控、文件访问、鼠标控制、关闭计算机等。

关键词:点与点的通讯;远程控制;屏幕监控;文件访问

中图分类号:TP311 文献标识码:A 文章编号:1671-2064(2017)24-0045-01

1 前言

本系统的功能实现主要通过window sockets来完成,采用典型的Client/Server结构,由客户端和服务器端两部分构成,客户端利用window sockets控件向服务器端发送请求命令信号,服务器端根据不同的命令调用不同的函数,具体处理过程在服务器端完成。用VB语言开发远程控制程序,调用相关的API函数实现,实现由一台计算机远程控制其它计算机。

2 Windows Sockets

Windows Sockets的定义:Winsock是一种开放的、支持多种协议的Windows下的网络编程接口,是Windows网络编程事实上的标准。应用程序通过调用Winsock的API实现相互之间的通信。而Winsock利用下层的网络通信协议功能和操作系统调用实现实际的通信工作。

Windows Sockets实现的组成部分:Windows Sockets实现一般由两部分组成:开发组件和运行组件。开发组件是提供给程序员开发Windows Sockets应用程序的,它包括了介绍Windows Sockets实现的文档、Windows Sockets应用程序接口库函数和一些头文件。其中WINSOCK.H是最重要的头文件。运行组件是Windows Sockets应用程序接口的动态链接库,文件名为WINSOCK.DLL,应用程序在执行时通过装入它以实现网络通信功能。

3 实现方案

客户端主要向服务器端发送请求,而服务器端主要负责响应客户端的请求。在开发中采用TCP/IP协议。利用socket传输字节。几乎所有的网络程序都通过Sockets来完成,我们暂不考虑网络的底层处理,只考虑最上层即应用程序的开发。

3.1 總体流程图(C/S)

服务器端根据不同的命令调用不同的函数,处理过程在服务器端完成。具体流程图见图1客户端流程图和图2服务器端流程图。

3.2 客户端与服务器端的连接

客户端部分:首先设置Winsock套接字控件的Remote Host和RemotePort属性(远程计算机的IP地址和端口号),然后利用Winsock.connect方法请求建立与服务器端连接。

服务器端部分:首先设置自己的端口号,然后使Winsock套接字处于监听等待状态,一旦接收到客户端连接请求,就关闭套接字,接受连接请求。

3.3 文件访问功能

客户端和服务器端建立连接后,当服务器端接收到客户端发送的“WENJIAN”数据命令时。服务器端向客户端发送驱动器信息。

3.4 截取屏幕原理

具体实现:客户端发送“GETDESKTOP"命令给服务器端,同时置截屏变量为真。当点击“捕获屏幕”命令后,屏幕会出现“正在抓取控制端屏幕,请稍候”。服务器端收到命令后取得显示屏幕的句柄,保存位图到临时文件,然后将bmp文件打包发送(分组发送,每组1024字节)到Client端。Client端将接收到的数据写到临时文件,并在Client端的相应的控件中显示抓取的bmp图,并弹出“远程抓屏成功”的对话框。然后提醒客户端是否将位图保存。

3.5 鼠标控制endprint

猜你喜欢

远程控制
智能可调节动作识别型节能风扇的设计
基于GSM的远程控制系统