机房机群遥控程序的设计与实现

2018-02-24 13:55杨鹏尹小敏
电脑知识与技术 2018年34期
关键词:广播

杨鹏 尹小敏

摘要:讨论了机房机群遥控程序的设计方法,给出了关键过程的分析与详细代码。

关键词:UDP;广播;Windows Hook;Delphi

中图分类号:TP311.52        文献标识码:A      文章编号:1009-3044(2018)34-0016-05

1 背景

机房管理和维护工作中,经常需要在许多台具有相同软硬件配置的计算机上进行重复的操作,特别是大多数学校机房也会承担各种人机对话考试任务。为减轻工作强度,一般会先在一台计算机上进行设置,然后使用网络克隆的方式部署到其他计算机上。但也有不少任务是无法通过网络克隆的方法完成的,必须进行单机操作。因此,开发一种能够在局域网中遥控机房所有计算机的实用工具非常必要。该程序的界面如图1所示。

2 设计思路

根据实际操作的需要,机群遥控程序必须允许由任何一台计算机遥控网络中的其他计算机,因此,遥控程序必须能够在遥控模式与受控模式之间切换。该程序的基本设计思路为:所有相关的计算机以受控模式启动该程序,然后进行侦听;当管理员将选择的计算机切换到遥控模式并开始遥控时,利用钩子程序收集所有鼠标和键盘消息,以UDP协议向网络中发出广播;当受控计算机接收到鼠标键盘消息后再模拟相应事件,从而达到遥控目的。

3 消息队列的定义与实现

遥控端程序与受控端程序通过消息队列传递遥控数据,因此,键盘、鼠标钩子数据结构的定义与消息队列的定义同时在服务于两个模块,其定义与实现如下。

3.2 消息转换器的定义与实现

消息转换器的作用是在遥控端将命令及其参数转换为文本,而在受控端将文本转换为命令和参数。对于遥控端程序,将钩子获取的数据转换为文本,送入消息队列,等待定时器发送;对于受控端程序,将网络获取的文本数据送入执行队列,等待命令执行定时器将文本转换为对应的命令并执行。其定义与关键实现如下。

6 结束语

在实际工作中,该机群遥控程序极大地提高了各类考试系统的部署效率,降低了机房维护人员的工作强度。当然,该程序也存在可以改进之处,例如,UDP广播可能导致的网络阻塞,计算机切换到遥控状态时并不会检查局域网中是否已存在遙控端程序。

参考文献:

[1] 吴林, 刘晔. 基于VB.NET实现全局键盘鼠标钩子[J]. 电脑知识与技术, 2010, 6(36): 10328-10331.

[2] 孙建华, 刘金龙. VB中利用日志记录钩子实现键盘监控[J]. 电脑编程技巧与维护, 2011(2): 3-4.

[3] 魏景东. 利用HOOK技术对键盘输入监视[J]. 电脑编程技巧与维护, 2011(11): 86-88.

[4] 李纳璺, 潘小盟. 利用MFC多线程技术开发基于UDP数据广播的局域网络会议程序[J]. 电脑编程技巧与维护, 2004(2): 70-73.

[5] 朱浩, 吕明. 用UDP协议实现网络语音广播[J]. 电信工程技术与标准化, 2005(8): 53-56.

【通联编辑:谢媛媛】

猜你喜欢
广播
STK及IGS广播星历在BDS仿真中的应用
广播发射设备中平衡输入与不平衡输入的转换
浅谈广播五要、五不要
网上广播的现状和发展前景
网络在现代广播中的应用
最早的无线电广播