您好, 访客   登录/注册

基于TCP和UDP的局域网远程监控及协助的设计与实现

来源:用户上传      作者:

  摘要:设计一款网络监控及协助软件,分别安装到教师机和学生机,教师可以通过教师端随时查看学生的操练情况,学生也可以通过学生端举手提问,教师再通过教师端给他进行远程协助。
  关键词:TCP;UDP;远程监控;远程协助
  0.引言
  由于计算机课程是一门实操性很强的课程,为了提高教学效果,我们的计算机课堂教学,大多数情况下都是在计算机实验室中进行,教师利用讲台的教师机给学生讲授课堂内容,学生每人操作一台计算机进行实操练习,若教师想掌握学生的操练情况,必须得走到每个学生的座位旁,才看得到他们的学习状态,如果学生需要教师的指导和帮助,也需要教师走到学生跟前,手把手地教他们操作,这样的方式会导致教师的负担过重,教学效率也极其低下。在计算机网络普及的今天,我们需要借助计算机网络的力量来协助教学,尤其在一个计算机实验室的局域网里,网络速度可以满足大量数据的传输。所以若能有效地利用计算机网络资源,将既能减轻教师的负担,又可以大大地提高教学效率。本文介绍一种方法,设计一款网络监控及协助软件,该软件分教师端和学生端,分别安装到教师机和全部学生机,教师可以通过操作该软件的教师端,随时查看学生的练习情况,学生也可以通过该软件的学生端举手提问,然后教师再通过该软件的教师端给他进行远程协助。既避免教师在实验中来来回来数次,又解答了学生的疑问,可谓是一举两得。
  1.远程监控与协助
  远程监控,可以分为“监”和“控”两部分,其中“监”也就是远程监视,是指通过网络获得信息为主,主控端通过网络向受控端发送监视命令,受控端响应请求,向主控端发送自己的桌面截图。而“控”也就是指远程控制,是指通过网络对远程计算机进行操作的方法,主控端向受控端发送控制命令,如锁定、重启、关机等操作。受控端响应命令,自身执行锁定、重启、关机等操作。总的来说,远程监控须做到监、控结合。
  远程协助,指导人员可以远程控制和操作客户的电脑,就像直接操作本地电脑一样,对指导人员来讲,非常的直接、直观,对客户而言。也可以清晰地看到指导人员的每一步操作,指导人员很快就可以找到问题的所在,并加以解决,同时客户通过观看也学会了相应的操作。而教师和学生之间也可以利用这种远程协助实现教学问题的交流,教师不用走到学生跟前,学生就得到教师手把手的辅导和帮助。
  2.远程监控与协助的软件实现
  基于TCP、UDP的自身特点,本文所论述正是利用了它们各自的优点设计出一个网络监控与协助软件。在教师端监视学生端时。需要把学生端的桌面通过截图后,再发送到教师端,由于发送的图片字节数据要求完整,教师端接收到完整的图片字节数据后才能正确显示,所以这里采用TCP的方式进行图片字节数据的发送,
  (1)图片数据发送的程序实现过程,学生端接收到监看命令,就对当前的桌面内容进行截图,由于图片数据量比较大,为了缩短传输时间,先对图片进行压缩,然后再通过TCP方式发送到教师端的相应端口。教师端检测到端口的数据,便从该端口读取数据,把读到的字节数写入文件,当连续读取到的数据等于该图片的字节数,表明该图片已经发送完毕,则在教师端显示该图片:若连续读取到的数据小于该图片的字节数,表明该图片还在发送中,需要继续从端口读取数据;若连接读取到的数据大于该图片的字节数,则表明该图片已经发送完毕,并且最后一次从端口中读取到的数据夹杂有下一张图片的数据,需要把这次读取到的数据进行分割,把前段部分写入文件,把后段数据写入下一个文件。在监看的过程中,学生端每隔5秒,就通过TCP的方式向教师端发送自己的桌面截图,这样就实现了远程监看功能。
  (2)图片压缩的实现,客户端对自己的桌面进行截图,得到的BMP图片文件比较大,在1366x768分辨率下,一张BMP图片文件大小在3M左右,而经过压缩后得到的JPG图片文件大小仅为70K左右,减小文件体积的同时大大提高了传输速度。具体的文件压缩实现过程见图l。
  (3)在学生举手部分,由于传输的是少量的数据,这里采用UDP方式发送数据:在教师端向学生端发送黑屏命令、关机命令时,由于传输的是少量的数据,这里采用UDP方式发送数据:在教师端对学生端进行远程协助时,由于传送的是大量的鼠标位置及点击信息,但它在传输完整性方面要求不高,所以为了保证传输的速度,让学生能看到实时的鼠标操作,这里采用UDP进行发送数据。
  (4)远程协助数据发送的实现过程,学生端接收到远程协助命令,就对当前的桌面内容进行截图,并向教师端发送。这个发送过程同监看功能的发送过程类似。当教师端接收到学生端的桌面截图数据后,就显示学生端的桌面截图。教师端通过操作鼠标、键盘,并通过UDP方式向学生端发送鼠标位置、单击、双击、右键单击、键盘按键等信息,学生端接收到这些信息后,通过Mouse event()、Kevbd event()函数向Windows系统发送相应的鼠标消息、键盘消息,这样学生端的Windows系统就被教师端操纵起来,学生端桌面内容发生变化时,再向教师端发送自己的桌面截图,这样一来,在教师端操作学生端就像操作本地机器一样,远程协助功能就实现了。
  (5)教师端界面
  局域网远程监控与协助的教师端界面见图2。在该界面上方,有四个功能按钮,分别是锁定客户、停止、监看、远程协助。在该界面下方,显示了当前登录连接到教师端的所有学生端,图中所示仅有一台学生端连接到教师端,该学生端的IP地址是192.168.0.106,只要通过鼠标点击该学生端对应的图标,再点击上方四个按钮中的一个,就可以对该学生端进行相应的监控与协助操作。
  (6)学生端界面
  局域网远程监控与协助的学生端界面,见图3。在该界面中。显示了远程教师端以及本地学生端的IP地址,TCP、UDP端口,这些信息仅供查看,不允许学生修改或调整。在该界面中,只有一个“举手”按钮可供学生操作,当学生需要教师的协助时,可用鼠标点击该按钮,教师端就会收到一个举手信息,显示在教师端界面相应的学生端图标中。教师就可以选中该图标,对该学生端进行远程协助。
  (7)监视功能
  若教师想观看某学生的练习情况,可在教师端选中某个学生端对应的图标,然后点击“监看”按钮,马上就可以看到从该学生端发过来的桌面截图,见图4,监看界面会随着学生的操作步骤变化而变化,这样教师就可以掌握学生的练习状况,从而给予相应的表扬鼓励或协助。点击“停止”按钮,则结束本次监看。
  (8)锁定客户功能
  若教师为了不让学生操作计算机,使全体学生集中精神听讲,就可以通过锁定客户功能,使全体学生机进入黑屏锁定状态,屏蔽学生机的键盘及鼠标信息。方法是在教师端选中全部学生端的图标,然后点击“锁定客户”按钮。也可以单独锁定某个学生端,例如,为了对正在进行非本课堂内容操作的学生提出警告,就可以选中该学生端对应的图标,点击“锁定客户”按钮,则该学生机就会进入黑屏状态,不可操作计算机。
  (9)远程协助功能
  若有学生举手求助,教师就可以选中该学生端对应的图标,再点击“远程协助”按钮,此时马上会在教师端看到该学生的计算机桌面,见图5,并且通过教师机的鼠标和键盘,可以直接操作该学生机,例如通过鼠标点击,打开某个菜单,启动某个程序,通过键盘输入文字等。这样一来,教师就可以通过远程的方式解答了学生的疑问或困难。
  3.结语
  总的来讲,TCP与UDP有各自特点,本文所述刚好利用了它们各自的优点,设计出一款局域网监控与协助软件,既合理地利用了计算机、网络的软硬资源,又使得整个监控与协助软件简单易用。实时高效,提高响应速度的同时又确保了数据的完整性。在目前的计算机课堂教学当中,尤其是教师资源紧缺的状态下,有效地减轻了教师同时辅导五、六十个学生的负担。通过该软件可轻易地掌握学生的操练情况,也可以很方便地给学生提供远程协助,大大提高了教学效率。该软件在图像压缩、截图算法方面还有待进一步提高,接下来还会继续深入学习研究,把整个监控与协助系统的功能实现得更完整,更高效。
转载注明来源:https://www.xzbu.com/8/view-10074001.htm