欢迎来到天天文库
浏览记录
ID:33374725
大小:228.50 KB
页数:15页
时间:2019-02-25
《简单的及时通信软件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、简单的及时通信软件河南理工大学计算机科学与技术学院课程设计报告2014—2015学年第一学期课程名称计算机网络设计题目简单的及时通信软件姓名郝腾宇学号311209010312专业班级计算机12-3指导教师李莹莹2015年1月8日15简单的及时通信软件目录一、任务分析与方案设计11.任务分析12.方案设计1二、需求分析21.功能需求分析22.数据需求分析23.性能需求分析34.运行需求分析3三、开发环境与工具41.设计环境41.1eclipse开发平台介绍42.基础知识42.1javaSocket网络编程简介42.2套
2、接字的介绍52.3TCP/IP协议简介6四、关键技术与理论61.JAVA编程技术62.JavaSocket网络编程接口7五、相关图解及程序81.体系结构设计82.具体功能模块的分析8六、测试及结果分析9七、心得体会12八、参考文献1415简单的及时通信软件一、任务分析与方案设计1.任务分析计算机网络被应用于我们生活中的方方面面,可以说是网络让我们的生活变得更加美好,更加方便和快捷,我们的生活离不开网络基于局域网的即时通信软件的核心技术其实与基于Internet的即时通信软件的设计技术是一样的,只是规模比较小。基于In
3、ternet的通信工具一般采用TCP或者UDP协议来实现的,开发技术已经非常成熟,它们不仅实现了即时聊天、文件传输等功能,而且还能够实现即时视频、语音聊天功能等。在局域网内,这类软件的设计比在Internet中设计更为简单。因为Internet是网络中的网络,结构更为复杂,遇到的情况要比在局域网中还要多。所以说局域网的聊天工具的设计要相对简单些。而且即时通信是一个终端连往一个即时通信网络的服务。即时通信不同于e-mail在于它的交谈是实时的。大部分的即时通信服务提供了presenceawareness的特性--显示联
4、络人名单,联络人是否在线与能否和联络人交谈。2.方案设计程序采用JAVA编程,利用java强大的基础类库,调用java中界面开发的swing和网络编程的net函数群来完成本次的javasocket(网络套接字)网络即时通信工具的开发。在java中,可以把发送的信息看成是一个一个的对象,当我们利用socket链接把客户端和服务器链接起来以后,他们之间就可以以对象流的形式发送彼此需要通信的信息了。在java的网络编程中,最为核心的就是客户端和服务器相互取得socket的链接,只要能够能够取得链接,其他的工作基本上都是ja
5、va的面向对象的编程思想去完成一些网络通讯的业务逻辑的处理。二、需求分析1.功能需求分析15简单的及时通信软件1)用户端之间的信息发送,本程序需要实现的最基本的功能。用户在界面上可以将自己需要发送的信息填入相应的对话框中,点击发送按钮后,可以将信息正常的发送给相应的其它用户,这个过程中的客户端与客户端之间使用点对点发送信息,预计利用TCP/IP协议中的UDP协议,在本程序中共需要3个端口,此功能预计使用3号端口。 (2)在线用户主机IP列表的维护。在用户发送信息之前,需要选择相应的目的地端IP,这也就需要客户端拥有在
6、线用户主机的IP地址,这个在线主机列表的维护是需要客户端定时自动向服务器端发送信息,服务器端收集并维护在线用户列表,再发送回客户端。需要在客户端和服务器端都使用定时器来完成此功能。此功能预计使用1、2号端口。 (3)在C/S模式中,服务器与客户端是相互依赖的。在客户端启用以后,需要查看服务器端是否在线,服务器在线才能正常使用客户端,如果服务器不在线,则在检测一定次数以后自动退出客户端程序。在使用过程中,客户端在指定时间内未向服务器端发送信息的,服务器认为客户端下线;客户端在一定时间内未收到服务器端信息的,认为服务器已
7、经下线,则提示用户并建议退出,在用户一定时间后没有退出的则自动关闭客户端程序。2.数据需求分析 (1)客户端之间聊天信息。在控件上显示时格式化,更易于用户的查看自己发送或接收到的信息。 (2)在线用户聊天信息。服务器端存放在适当的空间中,在发送给客户端时,对信息列表进行格式化,便于客户端提取信息。 (3)客户端向服务器端发送的确认在线信息。包括客户端刚刚启动时的初始化信息和在使用过程中的确认在线信息。 (4)其它程序内部可能需要设计的数据结构体。 3.性能需求分析 15简单的及时通信软件(1)可靠性高,能在由于系统问
8、题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。在程序的设计过程中,要求能尽可能多的设想到用户使用过程中可能发生的事件,并能在判断事件后做出相应的处理,使程序具有较高的容错性能[2]。(2)宜操作性,程序简单易懂,容易上手使用。设计界面是,简
此文档下载收益归作者所有