基于JGroups---蓝杰虚拟教室

    相信大部分朋友都有听过或是使用过虚拟教室,现在已经出来了不少的虚拟教室成品软件,如红蜘蛛媒体网络教室(主要在局域网内实现多媒体教学),以及一些网上英语教学系统(基于web实现在线教学)。另外,像adobe等等知名公司也纷纷推出虚拟教学相关产品,抢占电子虚拟教学这块奶酪。

    在2008年暑假,几个志同道合的大二学生们风风火火的投入了虚拟教室项目的开发中,花了一个多月,从需求到最终第一版本出来。期间,我们有攻克一个又一个问题的兴奋:>,但是由于那时基本功的薄弱,我们也不时郁闷至极:<

    如今已是2009年6月,现在show一下我们的小玩意。

 

    1.我们首先运行教师端、学生端主类,会出现用户交互界面, 贴出了一部分项目运行效果图片:

 

 

图1.教师端登录初始界面

 

 

    图2.学生端登录初始界面

 

    2.点击教师端“开始教学”按钮,会出现跳出框,在框中输入一个教学组名,再按“确定”,(如图3)待学生端加入该组,学生加入后,教学端屏幕成员列表处即会显示出学生信息(如图4),即可开始教学;学生端端用户名处可以输入自己的名字,教师端IP自动获得,输入加入的组名,点击“加入”按钮,(如图5)即可出现教师端屏幕(如图6)即可加入听课。

 

图3.教师端输入创建的组名

 

 

图4.学生端填写相关信息

 

 

图5.教师端显示学生端上线界面

 

 

图6.教师端教学界面

 

    3.当学生需要教师端进行远程控制时,学生端可以点击上方“操作”,点击“申请”,也可以通过快捷键CTRL+A,输入请求原因后,“确定”后即可等待教师端回应(如图7),当学生发送申请信息给教师端时,教师端消息框会出现申请信息,教师端可以按“同意”或“拒绝”按钮,若“同意”(如图8),教师端即会出现学生端屏幕,进行相应控制操作(如图9):

 

 

图7.学生端输入远程控制请求

 

 

图8.教师端接收到远程控制请求界面

 

 

图9.学生端被教师端远程控制(教师端打开学生端文档)

 

    虚拟教室的系统模型从逻辑上划分为教师端,传输网络和学生终端三个部分 。

    在局域网内,我们通过组播技术和java 技术来实现教师端和学生端交互,基于JGroups 框架,可靠的TCP 协议,利用 框架实现消息(包括教师端屏幕图像信息,组员信息)的群组发送,在小范围内实现教师屏幕的广播,教师端发送消 息,所有学生端都能够接收到教师端屏幕图像等信息,能够动态的实现对组内成员的离开,加入和现有组员的意外脱 离。

     对于局域网内的教师端对学生端的远程控制, 我们的教 师端只是将键盘和鼠标的指令传送给学会端(利用Java Robot 对象来实现对教师端鼠标键盘事件(如点击鼠标右键)的捕捉), 同时将学生端的屏幕画面通过通信线路回传 过来。也就是说,教师端控制学生端进行操作似乎是在眼前的电脑上进行的,实质是在远程的学会端中实现的,不论打 开文件,还是上网浏览、下载等都是存储在远程的学生端中的。

 

创新点:

基于一个适合于虚拟教室(群组通信)特点的JGroups 框架,利用java 实现教师端和学生端远程控制。


技术关键点:

  1.   对JGroups框架的应用
  2.  通信协议
  3.  屏幕图像的传输
  4.  利用Robot捕捉鼠标键盘事件

主要技术指标:

  1. JGroups 框架的灵活应用
  2. 能够运用通信协议定义虚拟教室的通信规范
  3. 能够对屏幕图像信息进行高质量的传输
  4. 保证图片能够清晰的显示
  5. 利用Robot 进行精确的鼠标键盘事件捕捉
  6. 以及对其事件流的准确发送

当然,现在这个项目还不够成熟,如:

  • 通信效率的提升:我们现有系统主要的传输信息是教师端和学生端屏幕图片,而在现有 我们现有系统主要的传输信息是教师端和学生端屏幕图片,而在现有 系统中,我们对图片信息只是简单的调用java 相关的方法进行压缩, 没有很好的优化来提升通信效率。优化方案:我们会制定 相关的算法或是利用相关的压缩工具来进行图片的压缩,达到最大可能的提升通信效率。
  • 应用功能的增强
  1. 界面的美化 :上面我们也贴出了运行效果图,用户体验还不够好

     2.  多媒体技术的引进:在原有基础上,进一步加入音频。视频来提高教学效果

     3. 聊天室

  •     系统结构的重构

     使用flex开发基于B/s结构的新系统

最后,谢谢大家花时间来看看我们的蓝杰虚拟教室项目,更希望大家多多提出建设性意见,多多交流下。

以下有源码,供下载。

 

 

 

 

你可能感兴趣的:(虚拟机,框架,网络应用,网络协议,Flex)