1、毕业论文文献综述 计算机科学与技术 基于 Flash 前端的多媒体通讯系统的实现 一 通讯系统概述 在设计通讯系统之前,应该了解几个概念,这些概念对于决定在哪里实现通讯,谁可以看到讯息,以及开始时要如何建立这些讯息等会有影响。 1讯息的能见度。 访客把聊天讯息传送到服务器时,有谁可以看见这个讯息呢?这个答案取决于信息的可见度。我们可以将聊天讯息进行分类,最简单的分类是公共信息和悄悄话。 公共信息是指用户把讯息传给服务器时,该讯息回广播给某空间内的所有其他用户。而私有信息只把讯息传递给指定的一个接收者。 2. 讯息类型。聊天讯息大多情况以文字呈现。通过扩展,可以增加图片信息,声音讯息,视频等等。
2、声音和视频更依赖软件自带的 API,可以直接哪里用。重点还是文字和图片。文字讯息又可以分为自由输入和清单选择 2 种。我们可以从清单选择这一块扩展更多功能,如实现快捷聊天,不同语言间的交流等等。为了减少网络负担,暂时不支持用户间的图片传输。可以选择使用表情。每个客户端都有一定的表情图片,当发送表情的时候,我们指发送几个代号表示那些图片,其他客户端接收到这些代号时,可以再解析图片显示出来。 3. 房间概念。房间可以认为是一群用户的 集合地,很多房间又构成了一个区域。用户可以创建房间来邀请或吸收其他用户加入。房间为用户提供了一个聊天的平台,服务端广播消息时,需要判断发送个哪个指定房间。 4.过滤聊
3、天内容。有些放入黑名单的文字需要过滤,以构建一个文明通讯环境。 二 以 SmartFoxServer 2X 为后台开发通讯系统 SmartFoxServer 是专门为 Adobe Flash 设计的跨平台 socket 服务器,让开发者高效地开发多人应用及游戏 . 该服务器主要用来创建多玩家游戏。 SmartFoxServer 2X(简写成 SFS2X)继承了 SmartFoxServer 的核心宗旨并且往许多新方向进行了扩展, Java(JDK6)是 SmartFoxServer 2X 唯一的服务端语言。 它改进了数百个地方并一直坚持着一些明确的方向:方便使用、多功能、性能。方便使用:我们去
4、除了一些不必要的复杂的东西,使得客户端和服务端的 API 更1 加直观、效率更高并且更加丰富。多功能:我们对架构进行了重新设计,大大提高了 SFS 的灵活性。 SFS2X 提供了更加细致的操作,这将会帮助开发者们更加方便地开发他们的应用。性能: SmarFox 以其拔尖的性能而闻名。 SFS2X 继承了这个优 点并且发布了我们自己的网络引擎第三版(产品代号为 BitSwarm),这个网络引擎提供了二进制协议和动态压缩、 UDP 支持、 JMX 监控、透明的重新联接系统、高性能的 http- tunnelling 等等。 SFS2X 与其它出名的通用 Socket 引擎( Mina 和 Nett
5、y)进行了对比,它在各种条件下都显示出了非常高的性能。 下面的列表概要地列出了 SmartFoxServer 2X 中最突出的改进:新服务端的核心是基于我们的专利品 BitSwarmEngine socket 引擎:改进的结构和性能与轻量级的内存占用 , 低等待时间和减少不必要的内存拷贝 , 绑定多个 IP 地址和端口( TCP / UDP) , 在 Session 级别核心支持 NPC(socket-less), 通过 Terracotta 整合进行集群 , Pluggable Dropped Packet Policy 管理 , 服务器 JMX 管理 , 可配置的线程模型 , 不能建立 s
6、ocket 连接的客户端可以使用高性能的 HTTP Tunnelling(通过使用 BlueBox 技术) , 透明的重新连接系统:允许意外断线的玩家在不丢失它们的状态的情况下重新透明地连接到应用。二进制协议和动态压缩( zip 压缩 /解压 ) , UDP协议支持 , 内嵌 Jetty 网络服务器,实现静态和动态的内容服务并且可以与 SFS 框架进行交互 ,包含 SmartFoxBits 2.0 UI 组件,方便快速设计 Flex 和 Flash 多人游戏的 GUI, 重新设计的文档系统 。 三 用户交互所需的几个算法列举 A*寻路算法: 用法:每当主角走一步,就在身边的 8 个方向插上节点
7、编辑 ,然后使用探路器 ,探路器会告诉主角,插的哪个节点标记距离目标的路径比较短 ,然后下一步就走向那里 ,走到之后,准备又插,发现,有的地方已经插过了,或者旁边有障碍物,不能插,就替换插过的节点的父节 点,比较,是不是比当前的短,如果是,就让当前的父节点等于,被替换的父节点 . 步骤: 1.初始化开启列表,和关闭列表 。 2.把当前节点放入开启列表 。 3.循环 (获得开启列表里 F 值最好的节点等于当前节点 )。 4.判断当前节点是否是目标节点 5.如果是则退出 ,如果不是则把当前节点从开始列表里删除 ,放入关闭列表 。 6.检测当前节点周围的 8 个点 ,他们是否是障碍物 ,是否已经在关
8、闭列表里,是否拐角处有障碍物 。 7.如果节点在开启列表里,则替换父节点,然后比较当前节点和节点的 G 值,如果开启列表里的小,则让当前节点的父节点等于开启列表里的 父节点 。 8.退出循环 。 等角投影: 等 角投影 (isometric projection)是一种广泛运用于计算机游戏的技术, 出现在 80 年2 代早期。这是模拟三维空间的一种快速而高效的方法, 能让人产生一种有深度的立体错觉,同时无需 “ 真实 3D “ 中必须完成的大量代价高昂的透视计算。在早期, 大多数视频游戏都是自顶向下或者单向滚动的。 Zaxxon 和 Qbert 是第一批采用等角技术的商业游戏。 在这种投影中,
9、 物体的大小并不随物体与相机距离的改变而发生变化。 参考资料 1彼得斯 (Keith Peters) (作者 ), 苏金国 (译者 ), Flash ActionScript 3.0 动画高级教程 M, 人民邮电出版社 ,2005,4-18 2Jobe Makar, ActionScript 多人互動遊戲與 虛擬世界製作 M,上奇资讯 ,2010,2-6 3汤一平, Java 语言程序设计 M,科学出版社, 2006 4Adobe 公司 (作者 ), 井中月 (译者 ) ,Adobe Flash CS4 ActionScript3.0 中文版经典教程 M, 人民邮电出版社, 2009, 2-10 5gotoandplay()公司, SmartFoxServer 2X 文档 J/OL,2010, 2-10 6山德斯 (Sanders.W.) (作者 ), 古曼娜提 (Cumaranatunge.C.) (作者 ), 方红琴 (译者 ) , ActionScript 3.0 设计模式 M, 中国电力出版社, 2010, 7-2