资讯/排行 | 专题 | 访谈 | 招标 | 展会 | 商情 | 大全 | 论坛 | 求职 | 图片 | 校园 | E周刊 | RSS
教育装备 | 数字化校园 | 投影及显示 | 投影幕 | 电子白板 | 实验仪器 | 语音室 | 摄录编 | 技术中心
慧聪网首页 > 教育行业 > 投影 > 电子白板 > 技术-应用
行业搜索
最新求购
·求购二手TDS220,TDS30..
·求购宾馆;酒店;工厂闲置..
·求购旧电台,二手示波器..
·求购投影机
·求购海盗外形的U盘
最新供应
·供应话筒
·供应水浴恒温振荡器(双..
·供应调速多用振荡器 HY-3
·供应不锈钢电热板 DB-1
·供应公共场所检测系统..
文字广告
热点专题
·2006投影机采购 谁能笑傲..
·火热的岁末教育市场喜庆..
·慧聪网当“婚娘”助您牵..
·2006教育行业信息技术年..
·2006年慧聪网教育行业投..
·透过国界看——远程教育
热门搜索关键词
投影机 服务器 仪器 PC
远程教育 实验室 传感器
校园网 教育信息化 招生
教育部 周济 英语 留学
高考 就业 中小学 教材
大话教育
24岁女老师爱上15的小..
清华大学附属中小学网..
《彼德与狼》精彩推荐
100人的小工厂怎么竞争?
“OD办公”杀入中国 行..
网络营销就得要剑走偏..
企业、个人合理避税大..
图说教育
月薪5000元白领地
铁卖唱引发争议
高校中流行“换客
”风
大学教师状告中体
倍力在崇文法院开庭
上海师大招聘学生
辅导员 录取比例1:17
基于www的电子白板系统中Socket机制
2005年4月27日 17:1  来源:太原理工大学信息工程学院网络与多媒体实验室  

    太原理工大学信息工程学院网络与多媒体实验室  

    陈玲   余雪丽 

    摘要:随着Internet的发展,在Email、WWW等的应用日益成熟的同时,在线实时交流的需求不断扩大,此类软件也大量涌现。用JAVA开发的电子白板弥补了纯文本非实时交流的不足,既增加了形象性,又加强了交互性。在通讯技术中,选用Socket通讯机制实现客户端与服务器端的信息交换,简化了网络中的技术细节,方便可行。 

    关键字:电子白板,实时交流,Java,Socket。 
  
1.引言 

    随着信息高速公路的建立,Internet的普及,多媒体、网络技术的迅猛发展,人类已经进入信息化社会。在非实时应用日趋成熟的同时,广大网络用户对在线实时系统的需要不断扩大。此类软件主要分为两类:一类是BBS和主页上的聊天室为代表的纯文本型系统工具,另一类就是本文要介绍的白板类系统工具。本文将主要对其中的关键技术---Socket通信机制进行讨论,并提出白板中图形的擦除设计方案。 

2.电子白板简介 

2.1 概念 

      所谓电子白板(whiteboard),指的是一个虚拟公用区域,在CSCW(Computer Supported Cooperative Work,计算机支持的协同工作)中参加协作的各个成员的计算机上都有一个白板的视图,白板上的内容既可以是手绘的简单图形(直线、曲线、矩形等),也可以是文字、图像、音频、视频。白板数据是共享数据,当一个用户修改了其中的数据之后,就要把修改立即通知给其他用户,让他们及时更新自己的白板视图。其更新结果应该立即反映在其他所有用户的视图上,即所谓的“你见即我见”(WYSIWIS,What You See Is What I See)。 
现有的白板系统大致可分为两类:一类是C/S模式的,另一类是B/S模式的。两类系统各有特点。 
C/S模式的白板可以很好的解决交互性的问题,提供强大的功能,协作的用户可以在异地同时操作白板,交流信息,并可给白板中的对象加锁,防止操作冲突等。这样的系统存在的缺点是由于系统采用的是C/S模式,不仅服务器端需安装系统软件,客户端也需要安装专用软件,这就极大地限制了系统的应用范围。 
 
    B/S模式可用在Internet上,系统的客户端不必安装专门的软件,仅需有浏览器即可使用系统,十分方便。但它同样存在缺点,那就是系统的交互性较差,白板功能相对较弱。一方面是由于浏览器对安全性的限制,使系统有很多功能无法实现。另一方面是由于网络的传输能力有限,而对于多媒体信息又要求有很高的带宽和合理的协议,所以现有的B/S模式的白板大多只传输文本、图形、图像等信息,而不支持音视频信息的传输和再现。 

    我们所实现的基于WWW的多媒体电子白板正是吸取以上两种系统的优点。系统采用B/S模式实现,使用户不必安装专门的客户端软件就可在Internet上运行,这样使得应用白板的潜在用户量巨大。因为用户只要用浏览器浏览到白板所在的服务器,便可以使用白板。同时系统还以自定义的应用层协议CTP(Control Transfer Protocol,控制传输协议)为基础,利用Java和JMF(Java Media Framework,Java多媒体框架)编程实现,一方面提高了白板的交互能力,另一方面利用了实时传输协议RTP(Real-time Transfer Protocol)和IP Multicast技术实现了多媒体的实时传输,这里的多媒体不仅指图形、图像,还包括音、视频等时基媒体,从而增强了交互性。 

2、2 功能介绍 

1、用户在浏览到白板主页时,需进行登录后,才能交流,而且通过交流时提供的姓名与密码进行权限检查与认证。
 
2、白板除具有纯文本交流功能外,还可以传输视频及音频信息,具有类似Windows的画图功能,增加生动性。 

3、在同一个交流室中的用户的信息对话交谈室都是可见的,对其他交谈室不可见。 

4、用户可自由地创建、加入和退出交谈室或暂停交流。 

5、还有一个信息反馈栏,方便用户了解操作的结果及应用。 

3.Socket技术 

    白板用Java语言实现,具体是客户端的程序Applet和服务器端的Application。因此,如何使Applet与Application进行通信,由Server端来为Client端服务?由于Socket提供了连接任何流到通信接口的方法,这样就可以通过输入输出流来抽象网络层的具体操作,把应用程序与网络技术细节分开。只需要考虑流的读写操作,而不用关心网络的具体细节。所以,选用Socket机制来实现客户端与服务器端的通信是方便的,可行的。 

3.1 Socket 简介  
    
    Socket最早是Unix操作系统中的概念,是为方便网络编程而开发出的一个程序接口,后来被广泛地应用在各种平台及系统中。在Internet/Intranet领域中,Socket也是一个相当重要的概念。Socket译为中文为套接字,指两个程序间进行双向数据传输的网络通信端点,是网上两个主机之间必要的数据无缝传输。Socket由每一个主机的终点和端口地址加以区别。如:太原理工大学的www主机www服务的Socket就是:www.tyut.edu.cn:80,80是www服务默认的http端口号。利用Socket可以与相应的服务进行通信。在Java语言中,也引进了Socket的概念,提供了Java.net.Socket和Java.net.ServerSocket类库,这两个类一起提供完整的TCP/IP连接的支持。前者用于客户端,后者用于服务端。某种服务通过监听一个端口号,可以与向该端口号发出请求的客户程序进行通信。  
 
    当一个Socket建立后,它就与本地的IP地址联系起来,IP地址仅简单地指定出入主机的特定路径,而连接亦可有多个。套接字地址完整地说是应用端口号、协议和本地IP地址的集合,它形成一个应用链路的终点,有效的激活一个套接字到套接字的连接。Socket通信机制提供了两种通信方式,即:面向连接的通信方式和面向无连接的方式。在设计时我们采用了前者----面向连接的通信方式,即通信前必须进行一次连接,从而建立起一条通信链路,并以字节流的形式在通信双方之间进行数据传输服务,它是一种安全、可靠的通信方式。 

 3.2使用Socket 
  
   在电子白板的设计中,Client端的Applet相关代码如下: 

public class chatapplet extends Applet implements Runnable{ 
      Socket  s=null; 
      public void init(){  
          port=Integer.Parse(getParament(“port”)); 
          url=getcodeBase(); 
      public void openSocket() throw IOException{ 
            s=new Socket(url.getHost(),port); 
            io_in=new DataInputStream(s.getInputStream()); 
            io_out=new DataOutputStream(s.getOutputStream()); 
       ……}} 
  
    上面的代码中,第二行声明一个Socket变量s,在初始化方法中,得到在html文档中预先设置好的端口号为20000,由getcodeBase()得到主机的IP地址。在openSocket()方法中,创建一Socket对象,该Socket的端口号为服务器端ServerSocket所监听的端口号,主机为该Applet的宿主机。由于Java Applet安全性,Applet 只允许向其宿主机打开Socket连接。若想与任何主机建立Socket连接,则需要对Applet进行数据签名。创建好Socket连接后,便可进行通信。 
   
    Server端的Application相关代码如下: 
  
    void initServer(int port) throw IOException{ 
       try{  ss=new ServerSocket(port,5); 
            // 建立一个ServerSocket  
             ……. 
                  } } 
          class User extends Thread { 
             Socket s=nulll; 
             ServerSocket ss=null; 
             public void run(){ 
                 try{ while(true){ 
                      s=ss.accept(); 
           io_in=new DataInputStream(s.getInputStream()); 
        io_out=new DataOutputStream(s.getOutputStream());     
        ……} 

    在服务器端程序中,当生成新的ServerSocket对象时,它还不能侦听到达端口的客户机请求,这要在调用ServerSocket对象的accept()方法后才开始,accept()方法要等客户机连接服务器后才返回,ServerSocket并不用于实际通信,它只为服务器端程序生成一个新的Socket实例,与相连的客户机交谈,这个Socket实例在accept()方法接受一个连接时生成的。值得注意的是在run()函数中使用了一个while(true)语句,用它来实现轮询,这是因为ServerSocket ss 在接收到客户请求并激活相应的User线程后,还要监听下一个客户的请求,重新调用accept()方法,进入封锁状态。通信过程如图: 

4.白板中图形擦除的方案设计 

  4.1问题的提出 

    在白板中,有类似windows中画图的功能,但没有类似橡皮的工具,当用户想要擦除白板内容时,只能将白板中的全部内容擦除。因此,是否能找到一种方案可以实现擦除白板中的指定图形呢?首先想到的是使用覆盖的方法,即用白色的矩形将所画的图形覆盖。但是这样会增加存储空间,产生大量的垃圾。必须进行及时的存储空间的清理,于是又想到了用以下两种方案,和大家一起讨论。 
   
 方案一: 

    由于图形的信息是存储在Vector中的,可以先找到要删除的图形在向量中所在的存储位置,然后再将其删除。这种方法不增加存储空间,但是它是以查找和删除的时间为代价的。因此,必须找到一种最优的算法,来提高执行的效率。 
 
 方案二: 

    根据Vector的定义,向量是异构的,即不要求每个元素的类型相同,向量中可以混合多种对象类型。因此,向量中多加一位标识位,以0、1表示,当选中要删除的图形时,将其标识位改变,如初始值设为1,当要删除某一图形时,便把要删除的图形的标识位设为0,系统根据判断标识位调用system.gc来释放它所占的内存。 

5.总结 

    电子白板使用Java语言来实现网上实时交流,用Socket技术实现信息的传递。经过在10兆网卡、10兆Switch的局域网环境下,在NT机上测试,运行比较稳定。当然,擦除部分还有待于进一步解决和完善,希望各位同仁提出更好的方案。 

参考文献: 

[1][美] John Zukowki.Java 2从入门到精通.北京.电子工业出版社.1999.P608-665  
[3]董慧等著.Java实用教程.北京.电子工业出版社.1997.P211-238 
[4]廖卫东等著.Java程序设计.北京.机械工业出版社.1997.P102-156 

 
 [关键词]:Socket 电子白板 电教  发表评论    【推荐】 【打印

特别推荐:
·慧商金字塔启动 邀您一起登峰
·2006年秋季全国高教仪器设备展
更多精彩:
·教育行业10月热搜产品数据分析
·安全采购 请走人行横道
相关文章 更多 
·TOP2000电子白板应用方案与实用技巧  (4.13 11:0)
·交互式电子白板功能简介及使用方法  (4.12 9:42)
·浅析SMART Board互动式电子白板的功能  (4.7 11:37)
·eBeam超便携电子白板系统显示解决方案  (3.25 9:30)
·浙江宁波利用电教片推广廉政建设进社区  (2.24 11:18)
·电教片代替人工报告海三干会半小时开完  (2.21 12:5)
·电教媒体、信息技术促进学习方式的改变  (2.18 14:47)
·任务驱动教学方法在信息技术课中的运用  (2.18 14:36)
·四川宜宾加强群众教育 设乡镇电教站点  (2.18 9:28)
·三下乡送温暖北京门头沟区用上电教设备  (2.16 11:15)

我来评两句〖查看最新评论〗 
请您注意:
·遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而导致的法律责任
·本网留言板管理人员有权删除其管辖留言内容
·您在本网的留言,本网有权在网站内转载或引用
·参与本留言即表明您已经阅读并接受上述条款
昵称:匿名