考生电脑端定义为客服端,监控的定义为服务端
一、客服端软件启动后,开启摄像头,定期传输图像到服务端,服务端实时监控考生是否有作弊行为。
二、客服端具有接收远程指令控制的功能。在考试开始前,客服端锁定桌面,考生无法进行任何鼠标键盘的有效操作;考试开始后,客服端接收服务端桌面解锁远程指令,考试正常进行,但是除了考试软件其他的浏览器、QQ等相关软件无法打开,防止考生作弊;考试结束后,客服端接收服务端指令,桌面再次锁定。
三、服务端具有接收客服端发送的摄像头数据,并进行实时显示功能,监控考生是否作弊。
四、服务端具有发送开始考试指令的功能,远程解锁考生的桌面;同时在设定的考试结束时提醒用户;具有自动和手动发送锁定命令功能。
五、Camera功能介绍
1.采用了openCV技术采集摄像头视频图像,并在当前界面进行显示
2.设计定时器,每隔50ms采集一次当前的视频图像信息,并以当前时间为名称保存在当前的Images文件夹下。
3.将当前保存的图像绝对路径传递给子线程的消息队列。在子线程中,采用TCP协议,将图片在指定套接字传输给远端的监控端。
4.在主线程中除了视频图像采集外,还设计了第二个定时器,其主要功能是每隔1s,检查操作系统的进程列表中是否有违规的进程,如微信、QQ等,若有则马上关闭线程。
六、ReceiveCMD功能介绍
1.采用windows的消息回调机制,设计自定义键盘鼠标回调函数。同时用钩子(Hook)拦截系统的键盘鼠标消息,达到屏蔽鼠标键盘的目的。
2.采用TCP网络套接字,接收来自监控端Monitor发送的命令,进行相应的响应。0--考试前状态,锁定键盘鼠标,桌面正常显示;1--考试中的状态,解锁键盘鼠标,隐藏桌面;2--考试后的状态,锁定键盘鼠标,激活桌面;3--解除所有锁定。
七、Monitor功能介绍
1.启动TCP监听,监听两个客服端连接请求,并在消息列表中进行显示。一旦有客服端连接成功,则建立对应的2个TCP套接字。
2.第一个套接字SocketRF和客服端Camera通信,接收来自其发送的图像信息,保存在本地并实时在界面上进行动态更新显示。
3.第二个套接字SocketCMD和客服端ReceiveCMD通信,当点击四个功能按钮时,发送四个命令给客服端,客服端收到命令后进行判断,执行锁定和激活等一系列操作。