简单的即时通信软件.docVIP

  • 9
  • 0
  • 约7.06千字
  • 约 16页
  • 2017-02-08 发布于重庆
  • 举报
简单的即时通信软件

河南理工大学 万方科技学院 课程设计报告 2015— 2016学年第二学期 课程名称 计算机网络 设计题目 简单的即时通信软件 姓 名 刘轶男 学 号 1516353011 专业班级 15级计科专升本 指导教师 张静 2016 年 6 月 25 日 目 录 一、任务分析与方案设计 0 1.任务分析 1 2.方案设计 1 二、需求分析 1 1.功能需求分析 1 2.数据需求分析 2 3.性能需求分析 2 4.运行需求分析 3 三、开发环境与工具 3 1.设计环境 3 1.1 eclipse开发平台介绍 4 2.基础知识 4 2.1java Socket网络编程简介 4 2.2套接字的介绍 5 2.3 TCP/IP协议简介 5 四、关键技术与理论 6 1.JAVA编程技术 6 2.Java Socket网络编程接口 6 五、相关图解及程序 7 1.体系结构设计 7 2.具体功能模块的分析 8 六、测试及结果分析 10 七、心得体会 12 八、参考文献 13 一、任务分析与方案设计 1.任务分析 计算机网络被应用于我们生活中的方方面面,可以说是网络让我们的生活变得更加美好,更加方便和快捷,我们的生活离不开网络 基于局域网的即时通信软件的核心技术其实与基于Internet的即时通信软件的设计技术是一样的,只是规模比较小。基于Internet的通信工具一般采用TCP或者UDP协议来实现的,开发技术已经非常成熟,它们不仅实现了即时聊天、文件传输等功能,而且还能够实现即时视频、语音聊天功能等。在局域网内,这类软件的设计比在Internet中设计更为简单。因为Internet是网络中的网络,结构更为复杂,遇到的情况要比在局域网中还要多。所以说局域网的聊天工具的设计要相对简单些。 而且即时通信是一个终端连往一个即时通信网络的服务。即时通信不同于e-mail在于它的交谈是实时的。大部分的即时通信服务提供了presence awareness的特性--显示联络人名单,联络人是否在线与能否和联络人交谈。 2.方案设计 程序采用JAVA编程,利用java强大的基础类库,调用java中界面开发的swing和网络编程的net函数群来完成本次的java socket(网络套接字)网络即时通信工具的开发。在java中,可以把发送的信息看成是一个一个的对象,当我们利用socket链接把客户端和服务器链接起来后,他们之间就可以以对象流的形式发送彼此需要通信的信息了。在java网络编程中,最为核心的就是客户端和服务器相互取得socket的链接,只要能够能够取得链接,其他的工作基本上都是java的面向对象的编程思想去完成一些网络通讯的业务逻辑的处理。 二、需求分析 1.功能需求分析 (1)用户端之间的信息发送,本程序需要实现的最基本的功能。用户在界面上可以将自己需要发送的信息填入相应的对话框中,点击发送按钮后,可以将信息正常的发送给相应的其它用户,这个过程中的客户端与客户端之间使用点对点发送信息,预计利用TCP/IP协议中的UDP协议,在本程序中共需要3个端口,此功能预计使用3号端口。? (2)在线用户主机IP列表的维护。在用户发送信息之前,需要选择相应的目的地端IP,这也就需要客户端拥有在线用户主机的IP地址,这个在线主机列表的维护是需要客户端定时自动向服务器端发送信息,服务器端收集并维护在线用户列表,再发送回客户端。需要在客户端和服务器端都使用定时器来完成此功能。此功能预计使用1、2号端口。? (3)在C/S模式中,服务器与客户端是相互依赖的。在客户端启用以后,需要查看服务器端是否在线,服务器在线才能正常使用客户端,如果服务器不在线,则在检测一定次数以后自动退出客户端程序。在使用过程中,客户端在指定时间内未向服务器端发送信息的,服务器认为客户端下线;客户端在一定时间内未收到服务器端信息的,认为服务器已经下线,则提示用户并建议退出,在用户一定时间后没有退出的则自动关闭客户端程序。 2.数据需求分析? (1)客户端之间聊天信息。在控件上显示时格式化,更易于用户的查看自己发送或接收到的信息。? (2)在线用户聊天信息。服务器端存放在适当的空间中,在发送给客户端时,对信息列表进行格式化,便于客户端提取信息。? (3)客户端向服务器端发送的确认在线信息。包括客户端刚刚启动时的初始化信息和在使用过程中的确认在线信息。? (4)其它程序内部可能需要设计的数据结构体。? 3.性能需求分析? (1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务

文档评论(0)

1亿VIP精品文档

相关文档