基于局域网的视频会议系统论文内容摘要:

务器用来进行组间通信。 类 ServiceRunner:以单机模式来启动服务器。 class: ServiceRunner public static method: ( 1) main(String args[])根据 Resourcename来确定是否启动服务器。 ( 2) startService(ResourceBundle res)从特殊化的 resource 中抽取参数,创建服 务器实例并启动它。 Private static method: printUsage()打印这个类的作用。 Public static field: (1) CLIENT_CHANNEL_STACK 客户通信频道的协议栈。 (2) CLIENT_GROUP_NAME 客户通信频道的组名。 (3) SERVICE_CHANNEL_STACK 服务器通信频道的协议栈。 (4) SERVICE_GROUP_NAME 服务器通信频道的组名。 接口 lease:描述了一个被租借管理器赋权的标号,允许在一段限定的时间内访问一些资源。 Interface:lease Public method: (1) getExpiration()获取租借期满时间 ,租借期满时间总是一个绝对的值。 (2) getDuration()检查租借是否期满。 (3) getLeaseTarget()获取租借的对象并返回代表租借源的唯一标示符。 (4) getTenant()获取该租借的承租者并返回获得租借的实体的唯一标示符。 (5) getFactory()获取创建该租借的 LeaseFactory 的实例 接口 LeaseFactory:负责批准新的租借,更新现有的租借并删除不需要的租借。 类 LeaseFactoryClient:是接口 LeaseFactory 的一个实现,它代表了包含一个或多个 LeaseFactotyService 实例的组中被批准的租借。 类 LeaseFactoryService:是能够租借资源给用户的服务器。 租借请求通 过 用 户 服 务 器 通 讯 频 道 发 出 , 并 由 message headers 中的LeaseRequestHeader 的存在进行识别。 在每个 message 中可能只有一个租借请求,它包含了租借期限和请求租借的实体的信息,有效载荷 payload信息包含了对租借资源的唯一识别。 类 LeaseRequestHeader: Header 的子类,代表了租借请求。 类 LeaseResponseHeader: Header 的子类,代表了服务器的响应,在消息中存在这个 header 表示先前的请求成功了。 header 的类型决定了满足了何种类型的请求。  stack 包: 类 AckMcastReceiverWindow:创建并维持一个信息栈,接受不同发送者发送的信息。 应答收到的每条信息,检查它是否已被拒绝,如果是,则抛弃该信息,基于局域网的视频会议系统 8 否则拒绝它。 信息中包含了需要删除的旧信息的序列号,它们要从信息表中移除。 类 AckMcastSenderWindow:为每一条信息维持一个栈,保存接收者发出的ack。 类 AckSenderWindow:一个发送者的基于 ack 的滑动窗口,当收到一个 ack时,消息将按照序列号的顺序填加进窗口,同时删除应答消息。 类 Configurator:用来设置并配置协议栈,把一个用来描述没一层的分层和配置的字符串传递给创建和配置协议栈的配置器,然后向顶层返回一个参数。 类 GossipServer:为每个租借维持一个成员地址的缓冲区,它有两个基本功能:获取一个给定组的成员并为一个给定的组注册一个新成员。 类 GossipClient:是一个本地 stub,使用基于 TCP 的私有协议连接到GossipServer。 类 GossipData:封装 GossipServer 和 GossipClient 间传送的数据。 类 Interval:管理重新发送的时间间隔。 类 IpAddress:依赖于网络的地址,由协议栈 UDP 的最底层产生,包含一个网络地址和端口。 抽象类 Protocol:为协议层提供了一套公用的服务器。 每一层必须是protocol 的一个子类并且重载一些方法(典型的如 up,down 和 getname)。 各个层以一定的顺序堆叠在 一起形成一个协议栈。 类 MessageProtocol: Protocol 的子类,它是基于协议的,但合并了RequestCorrelator 和 GroupRequest,后者用来向所有成员发送消息并接受他们的响应。 类 ProtocolStack: Protocol 的子类, ProtocolStack 管理许多协议,它创建所有的 protocol 类,把他们初始化,并且当准备好时,以最低层协议为开始启动它们。 它还把从栈中接收到的信息分派给已注册的对象,如 channel,GMP,而且把这些对象发送的信息沿着栈发送下去。 ProtocolStack 利用 Configurator来建立和初始化栈,并且当不再需要它们时销毁这些栈。 类 NakReceiverWindow:根据信息的序列号维持栈。 允许信息不按顺序添加, 并且序列号线可以有间隙。 接口 ProtocolObserver:为调试器设置的接口,用来接收关于一个协议层的通知。 定义了 hook,当重大事件发生时由 protocol 调用它们,例如接收到一个事件。 每一个 ProtocolObserver 都要有一个它所监听的协议的参考。 类 Retransmitter:维持一个需要重新发送的 信息序列号池,信息被标上时间,重发请求根据时间先后。 类 StateTransferInfo :包含了状态转换的参数,在 channel 和STATE_TRANSFER 间进行转换。  tests 包:用来对各个模块进行测试。  util 包: 包包括了 Java 语言中的一些低级的使用工具,该 util包则在其基础上进行了一些改善,使其更适合实际的系统。 如其中的类LinkedListQueue,是建立在 之上,如果想使用这个类代替原始的类,它也可以重命名为 并编译, 基于局域网的视频会议系统 9 对 JavaGroups 的扩展实现视频会议系统 VideoConference 和 JavaGroupsVC 是为实现视频会议系统并且基于JavaGroups 而设计 的。 VideoConference 是 JavaGroups 的一个扩 展包,JavaGroupsVC 是基于 JavaGroups 的一个视频会议的应用程序。 它是一种开放源码的程序,提供了一种多平台视频会议的解决方案。 JavaGroupVC 支持三个数据频道: 一个 用于视频广播的视频频道, 一个 用于音频广播的音频频道 和一个 用于聊天对话的文本 频道。 加 入某一个组的用户可以和该组中所有的成员共享视频和音频。 每个用户要选择一个用户名和卡通图标来代表自己。 在一个特定的组内,用户名和图标都是唯一的。 如果在该组中这个用户名或图标已经有人用过了,则新来者就要换另一个了。 组内的所有成员都可以选择发送消息至所有人或者特定的某个人。 所有对连接有用的组和目前存在的组将以一种可扩充的树结构显示出来,这样用户可以浏览每个组来找一个感兴趣的加入。 用户可以无限次地加入或重复加入某个组,但是在某个特定时间,一个用户只能在一个组中,他必须离开当前所在的组才能够进入另一个组。 JavaGroupsVC 使用层结构来设计的。 有三个主要的层 :图形用户界面层、控制层和数据层。 如下图所示: 图形用户界面层 控制层 数据层 图 JavaGroupsVC 的分层结构 图形用户界面管理器 组管理器 组列表管理器 组列表 成员管理器 用户信息管理器 用户信息 媒体管理器 视频管理器 音频管理器 文本管理器 基于局域网。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。