为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

即时通信系统架构设计

2011-05-26 1页 pdf 127KB 74阅读

用户头像

is_609195

暂无简介

举报
即时通信系统架构设计 24 信息科学 2科01 菰1霸 ()年第9期 即时通信系统架构设计 沈爱明 (合肥学院电子系,安徽合肥 230601) 摘 要 阐明系统所采用UDP协议的制定原则和方法,兼顺当前国内外主流的网络实时通信软件的系统功能和项目需求,提出系统解决方 案,完成系统的逻辑设计、消息格式没计和系统客户端、服务器端两大模块的总体设计 关键词 通信系统 ;UDP协议;MVC设计模式 ;SOCKUDP组件 中图分类号 TN 文献标识码 A 文章编号 1673—9671一(2010)101—0024—01 1即时通信的...
即时通信系统架构设计
24 信息科学 2科01 菰1霸 ()年第9期 即时通信系统架构 沈爱明 (合肥学院电子系,安徽合肥 230601) 摘 要 阐明系统所采用UDP的制定原则和方法,兼顺当前国内外主流的网络实时通信软件的系统功能和项目需求,提出系统解决方 案,完成系统的逻辑设计、消息格式没计和系统客户端、服务器端两大模块的总体设计 关键词 通信系统 ;UDP协议;MVC设计模式 ;SOCKUDP组件 中图分类号 TN 文献标识码 A 文章编号 1673—9671一(2010)101—0024—01 1即时通信的概念 ~0u,7通信是一种以网络为基础的实时通信方式 ,通过通信系统建立 网络虚拟社区,为异地、联网的用户提供实时有效和方便快捷的在线交 流、互传文件、语音对话及进行视频会议等交流。是PzP模式应用的一 大热点,具有以下特点: 1)操作简便。对于使用者而言,只要具有一般的计算机操作能力 就能掌握。 2)在用户间相互传递即时消息,消息格式可以是多元化的。用户 可以使用计算机、手机等不同类型的通信终端,以文字、语音、视频等 多种形式进行沟通。 3)网络效应明显,有着巨大的用户群体。 4)用户可以获取自身和其他用户的状态变迁通告,即时通信的个 人联络信息保存在服务提供商的系统上,因此可以在世界任何一台与 Internet连接的计算机上使用即时通信软件,不用担心原来的个人资料会 丢失。 2即时通信系统通信协议的制定 即时通信系统作为最初版本,在设计制『没有单独开发自己的协议格 式。客户端系统设计访问服务器的方式是利用UDP/IP~讯协议与密码保 护的方式登入,取得相关信息,并利用UCP/IP通讯协议将信皂反馈回客 户端,在客户端与客户端之间直接采用UDP数据报协议作为底层通信协 议,使用C#中的Socket~的派生类UDPCHNET实现底层通讯。 1)采用UDP协议的原因。①UDP传输速度快,开销小,适合即时 通信的需要。f}1于在传输数据报前不用在客户与客户端之间建立一个连 接,且没有超时重发等机制,因此,速度更快,便于客户端之间的直接 通讯。②音频和视频数据传输的需要。UDP:~基于无连接的协议,它能 够消除生成连接的系统延迟,对于强调传输性能而不是传输完整性的应 用最适用。在即时通信系统中的音视频通信就是对传输要求实时性高, 具有严格的传输时延限制。如果采用TCP协议的话,音频、视频数据通 过IP网络进行传输,在IP网络中,传输的数据必须被封装成IP分组,一 旦某一分组出错或丢失而被重新传输 ,必然导致传输时延大大增加,不 能保证实时性。③广播和组播的需要。UDP小但支持一对一的连接,而 且也支持一对多的连接,可以使用广播的方式多地址发送,向子网上的 所有设备发送信息,也可以使用组播的方式同时向网络上的多个设备定 向发送信息,而TCP仅支持一对一的通信。在即时通信系统中的群发和 组播使用比较频繁,群发信息较多。④UDP传输的数据有消息边界,传 输协议把数据当作一条独立的消息在网上传输 ,接收端一次也只能接收 发送端发出的一个数据包,把数据及时显示上去。⑤仓库内部网络状况 较好。各驻防点之间是光纤骨干网,各驻防点内部是10/100M自适应的 网络环境,并 且网络上的信息流量较少,基本不存在网络拥堵现象,传 输的可靠性还是有很高的保证的。 2)传输可靠性保证。由于使用uDP协议进行通讯,所以要自己控制 其通信的可靠性:发送方每发送一个数据,接受方接受到数据后,会发 回一个响应信息,发送方在一个超时时间内,收到响应信息,就示发 送数据成功,若没有收到,就表示发送失败,会按用户指定的次数N,重 试N次,如果N次都失败,就返回发送数据失败。发回来的确认信息也可 能丢失,但确认信息很短,丢失的机率会小一些,是一个折中的办法。 3即时通信系统解决 1)系统设计模式。系统采用MVC设计模式,MVC设计模式使软件 在键壮性、代码复用和结构方面具有优势,它会大大提高软件后期开发 的效率。模型包含核心功能和数据,视图向用户显示数据,控制器处理 用户输入,视图和控制器共同构成用户接口,变更传播机制确保用户接 f1和模型间的一致。在系统中,业务逻辑不发生变化,用户界面根据用 户执行操作的变化f面变化。 2)系统开发方法。采用面向对象的开发技术,面向对象软件开发 以类、类集合作为基本单位,类具有层次结构,可以继承,所有对象都 用类来表示,对象之问通过传递消息构成相互之间的联系,多个对象各 司其职,相互协作以完成目标,使软件代码可重用性高、可维护性好, 并且具有良好的消息机制。系统应用组件技术,把底层的对象集合打成 包,组成功能 “插件”。在即时通信系统的开发中,对于通用模块进行 提取,封装成DLL(动态链接库),实现更高程度上的代码重用。系统 中所有的Du放在 BIN文件夹下,使用时通过引用,实现各模块共享。 4即时通信系统功能设计 1)系统逻辑设计。在系统中,服务器是客户端活动的中介,提供 客户端信息的集中注册认证和必要的安全检验,记录用户列表信息,用 于辅助客户端之间建立连接,系统中服务器只是起到桥梁的作用,负责 记录当前网络上的客户端用户列表。客户端每一个上线的用户都要到服 务器进行注册,并且从服务器获得其他在线用户的列表,当上线用户收 到其他在线用户的信息后,就可以和那个用户进行通信,这时就不会通 过服务器。当有用户退出系统时,它会服务器,服务器再把这一消 息告诉给所有在线用户。无论是服务器还是客户端都维护一个在线用户 的列表,通过这个用户列表,用户就可以和其他用户进行通信。 2)消息格式设计。系统通过设置不同种类的消息,实现不同的功 能,根据消息的种类接收方判断发送方发送的是什么,想要做什么, 并且显示在不同的窗体中,因此消息的格式设计是系统的最主要工作之 一 。 客户端根据用户不同要求,向服务器发送各种类型的请求,然后等 待服务器的响应,之后从服务器上得到数据,显示给用户。客户端人数 没有限制,程序为了处理每个客户端的信息使用了多线程机制,这样多 客户端间通信互相不受到影响。 3)系统模块设计。在模块设计里,将系统分成两大模块:服务器 端和客户端分别进行设计。①服务器端模块。通过分析具体需求设计类 关系图,可以根据具体消息的不同进行处理,同时对不同的事件进行处 理 ,以完成服务器端的实现。在服务器端,系统需要维护一个用户列 表,每个列表存储多个用户,可以对这个表进行添加、修改、查询、删 除的操作。服务器端口还需要管理各类与服务器有关的消息,如登录请 求、客户端状态改变等不同类型的消息,不但可以接收,还可以发送, 所以设计一个SOCKUDP组件,将UDP通信的操作封装到里面,专门用来 发送、接收信息,在视图类中调用它即可。②客户端模块。同样通过分 析具体需求。为完成客户端的实现,根据客户端与客户端、服务器端与 服务器端的具体消息不同进行相应处理,客户端主要管理各类与本身有 关的消息,如文件传输请求、视频通信请求等不同类型的消息,因此也 必须设计一个SOCKUDP组件,将UDP通信的操作封装到里面,负责信息 的接收和发送,需要时在视图类中调用即可。在客户端,系统也维护一 个用户列表,每个列表存储多个用户,可以对这个表进行添加、修改、 查询、删除的操作。 参考文献 【1]乇家华.软件工程,沈阳:东北大学出版社[MI 2005. 【2]萨师煊.王珊数据库系统概论 j版)【M]_]E京:高等教育出版社,2002. §骏,郑逢斌,等.c#网络应用高级编程【M】.北京·人民邮电出版社,2007
/
本文档为【即时通信系统架构设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索