系统框架图
系统在工作流程上可分为两条线。第一条是屏幕监视,另一条便是远程控制。屏幕监视工作流程如图1,远程控制工作流程如图2
系统目标
本系统实现了网络监控功能,可以对远程计算机进行操作,比如锁定远程计算机,获取对方屏幕,控制鼠标动作等。本系统包括服务器和客户端两部分,服务器运行结果如图所示:
打开SockServer之后,会出现两个菜单项:网络,系统控制和帮助。点击网络时,会出现连接和退出的菜单项,点击连接,就会出现输入IP地址的如下对话框。
此时,如果在输入的IP地址的那端的机器也就是受控机上运行客户端的程序,就可以在主控机运行的程序中看见如下的画面,但是可以明显的感觉出来图像还原的颜色不够好,而且每次在对受控机进行操作时,都需要等待大概几秒的时间。不过还是可以基本上实现远程监控的效果,在现实生活中这种技术也被广泛的应用。因为,在这种系统中,由于在远端只是需要查询和观察,而并不需要做一些复杂的工作,所以只要处理好现场监控计算机和远端客户机之间的通信和数据传输就可以了。这样不用占用现场计算机的CPU处理时间,从而能节省资源以便做更多的处理现场的工作。
和远端服务器的连接可以分为以下几个过程:
1) 服务进程总是先于客户进程启动,服务进程首先创造套接字。、
2) 将本地地址绑定到所创建的套接字上以使在网络上标识该套接字。
3) 将套接字置于监听模式并准备接受连接请求。
4) 客户端创建套接字,调用SOCKET函数,方法同上。
5) 客户向服务器提出连接请求。
6) 当请求到来时,被阻塞服务进程的accept()函数如(3)中所述生成一个新的套接字与客户端建立连接,并向客户端返回接收信号。
7) 一旦客户机的套接字收到来自服务器的接收信号,则表示客户机与服务器的连接已就绪,则可以进行数据传输了。
8) 关闭套接字。一旦任务完成,就必须关掉连接已释放套接字占用的资源。