基于udp协议的局域网即时通信软件设计

基于udp协议的局域网即时通信软件设计

ID:6634396

大小:89.34 KB

页数:26页

时间:2018-01-20

基于udp协议的局域网即时通信软件设计_第1页
基于udp协议的局域网即时通信软件设计_第2页
基于udp协议的局域网即时通信软件设计_第3页
基于udp协议的局域网即时通信软件设计_第4页
基于udp协议的局域网即时通信软件设计_第5页
资源描述:

《基于udp协议的局域网即时通信软件设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于UDP协议的局域网即时通信软件设计指导老师:学生:学号:12017年5月2日主要内容一、局域网即时通信软件简介二、软件架构三、运行结果及分析四、实验总结五、文献引用及网站六、源代码一、局域网即时通信软件简介[1]局域网通讯(LocalNetwork,简称LNLNIM)是指能够即时发送和接收互联网消息等的业务。自2001年面世以来,特别是近几年的迅速发展,局域网通讯功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。它不再是一个单纯的聊天工具,已经发展成集交流、资讯、娱乐、搜索、电子商务

2、、办公协作和企业客户服务等为一体的综合化信息平台。是一种终端连往即时通讯网络的服务。它不同于e-mail在于它的交谈是即时的。大部分的即时通讯服务提供了状态信息的特性──显示联络人名单,联络人是否在在线与能否与联络人交谈。LNIM最早的创始人是三个以色列青年,是他们在2001年做出来的,取名叫FreeEIM。2002年当FreeEIM注册用户数达到12万时,目前飞鸽传书FreeEIM有13万多用户,主要市场在美洲和欧洲,已成为世界上最大的局域网通讯系统。在早期的局域网通讯程式中,使用者输入的每一个字元都会即时显

3、示在双方的萤幕,且每一个字元的删除与修改都会即时的反应在萤幕上。这种模式比起使用e-mail更像是电话交谈。在现在的即时通讯程式中,交谈中的另一方通常只会在本地端按下送出键(Enter或是Ctrl+Enter)後才会看到讯息。1998年代早期,一种更早的局域网通讯形式是柏拉图系统(PLATOsystem)。在FreeEIM的介绍之後,同时在许多地方有一定数量的局域网通讯方式发展,且各式的局域网通讯程式有独立的协定,无法彼此互通。这引导使用者同时执行两个以上的局域网通讯软体,或者他们可以使用支援多协定的终端软体,

4、如GaLNIM、Trillian或Jabber。近年来,许多局域网通讯服务开始提供视讯会议的功能,网络电话(VoIP),与网路会议服务开始整合为兼有影像会议与即时讯息的功能。於是,这些媒体的分别变的越来越模糊。本文主要呈现一个实现局域网基于UDP协议的P2P模式的即时通信软件原型。一、软件架构本即时通信软件基于P2P模式,不需要服务器的支持。用JAVA语言编写,平台无关性好。传输层协议为UDP,应用层协议自行设计,协议设计可靠性高、开销小。主要由Main、ChatWindow、User、Protocol、Com

5、munication、DataParse等类或模块组成,利用多线程技术、GUI及事件驱动编程。模块间耦合性低,内聚性强,可扩展性好,符合软件设计原则。部分功能限于时间因素,未能实现。各模块主要功能:Main主要实现通信软件主窗口UI和相关逻辑,显示本地用户信息、本局域网在线联系人列表以及局域网搜索联系人、发起通信、退出等功能。ChatWindow主要实现聊天窗口UI和相关逻辑,由对方联系人信息、聊天内容呈现窗口、聊天文本输入等部分组成。User定义联系人的基本属性、主机相关信息(IP地址和端口)以及相关修改策略

6、。Protocol主要实现本软件的应用层协议,包括联系人搜索请求及应答、文本信息传送、视频数据传送(未实现)、文件传送(未实现)等关键字,实现了应用层协议拆分、初步解析等功能。Communication实现基于UDP协议的数据接收和发送,为其他组件提供Write和Read方法。DataParse主要实现协议的完整解析。软件架构:实例化Main主窗口User昵称、性别、年龄、IP等信息修改数据投送数据投送数据投送联系人搜索其他用户合作解析Protocol定义应用层协议信息呈现实例化ChatWindow聊天主窗口C

7、ommunication实现数据接收与发送DataParse完整解析接收的数据一、运行结果及分析本软件在实际使用中(非单机测试)使用端口8888,为便于单机测试,两终端收发端口分别各位7777和8888。一、主窗口主窗口由菜单栏Option、用户信息显示、联系人列表、搜索(Refresh)、发起通信(Chat)、退出(Quit)等部分组成。在测试中分别为随机生成的默认昵称User1646和User727,在相互搜索之后,各自列表中会显示本局域网在线联系人。Option中包括修改本地用户信息、端口等内容。二、聊天

8、窗口在选定列表中某联系人后,点击Chat将创建一个通信实例。下面是User1646和User727的测试通信结果。测试结果表明结果符合预期,且资源占用少,运行稳定性好。四、实验总结用JAVA进行应用层编程非常方便,而且易用性很强。本软件虽然功能简单,但充分利用了Swing的快捷可靠的GUI设计、JAVA支持的多线程技术和UDP协议接口,实现了局域网即时通信软件的核心功能。限于时间因素,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。