logo资料库

JAVA聊天室课程设计报告+源代码.doc

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
摘要
一、绪论.
1.1关于Java聊天室概述
1.1.1选题的依据及课题的意义
1.1.2开发语言的选择
二、开发环境简介
2.1开发工具的选择
2.2关于JDK1.4
2.3JAVA开发环境的建立
三、项目概况
3.1功能简介
3.2套接字通信
四、概要设计
4.1聊天室服务器端设计。
五、详细设计
5.1服务器端的设计
5.1.1服务器端的界面设计
5.1.2服务器界面代码实现如下:
5.2服务器端的设计
5.2.1客户端的界面设计
6.本项目小结
参考文献
结束语
JAVA 聊天室课程设计报告 目录 摘要............................................................................................................................................................... - 1 - 一、绪论. ......................................................................................................................................................- 1 - 1.1 关于 JAVA 聊天室概述 ..............................................................................................................................- 1 - 1.1.1选题的依据及课题的意义............................................................................................................. - 1 - 1.1.2开发语言的选择............................................................................................................................. - 2 - 二、开发环境简介 ........................................................................................................................................ - 2 - 2.1 开发工具的选择...................................................................................................................................... - 2 - 2.2 关于 JDK1.4............................................................................................................................................. - 3 - 2.3JAVA 开发环境的建立 .............................................................................................................................. - 3 - 三、项目概况................................................................................................................................................ - 4 - 3.1 功能简介.................................................................................................................................................. - 4 - 3.2 套接字通信 .............................................................................................................................................. - 4 - 四、概要设计................................................................................................................................................ - 5 - 4.1 聊天室服务器端设计。.......................................................................................................................... - 6 - 五、详细设计................................................................................................................................................ - 7 - 5.1 服务器端的设计...................................................................................................................................... - 7 - 5.1.1服务器端的界面设计..................................................................................................................... - 7 - 5.1.2服务器界面代码实现如下:......................................................................................................... - 8 - 5.2 服务器端的设计.................................................................................................................................... - 17 - 5.2.1客户端的界面设计....................................................................................................................... - 17 - 6.本项目小结 ..............................................................................................................................................- 18 - 参考文献......................................................................................................................................................- 19 - 结束语..........................................................................................................................................................- 19 -
摘要 本系统是 java 基于 c/s 模式的聊天室程序。聊天室共分为服务器端和客户端两个 部分,服务器端程序主要负责侦听客户端发来的消息,客户端需要登录到服务器端才 能实现正常的聊天功能。 基于 Java 的聊天室是利用 Eclipse 开发包工具进行开发出的一款网络聊天室。这 款聊天室是套接字通信开发采用 c/s 模式的聊天室程序。聊天室共分为服务器端和客 户端两个部分,服务器端程序主要负责侦听客户端发来的消息,客户端需要登录到服 务器端才能实现正常的聊天功能。 本文分为七个部分,第一章详细介绍了 J2ME 的发展历史以及 MIDP 程序的基本框 架生命周期以及手机多媒体的发展,第二部分介绍了开发工具的选择以及开发环境的 搭建,第三到第五部分是系统的设计过程包括需求分析,系统的概要设计和详细设 计,第六部分是系统测试与发布。 关键词:JAVA 聊天室 一、绪论. 1.1 关于 Java 聊天室概述 1.1.1 选题的依据及课题的意义 随着网络信息时代的来临,INTERNET 应用越来越广泛,人们越来越习惯于在网上 获取和交流信息。据调查显示,80%以上的人上网都会打开聊天工具来聊天,而几乎每 一个年轻人都会去聊天。使用网上聊天已经成为现代年轻人一种新的交往方式。 根 据 网 上 调 查 , 在 所 有 参 加 网 上 聊 天 的 大 学 生 中 , 进 聊 天 室 进 行 聊 天 的 占 69.65%,使用网络寻呼机进行聊天的占 37.93%,还有 2.75%的受访者声称自己使用其 他方式进行聊天。进聊天室聊天是一种较为公共的聊天方式,而使用网络寻呼机则是 一种具有排他性的聊天方式,一般能够用网络寻呼机进行联络的,都是比较熟悉的网 友。使用网络寻呼机还意味着使用者希望自己的网友随时与自己联系,表现出一种开 放性的网上交际观念。聊天室更适合于陌生人之间进行较为主观、感兴化的讨论。所 以有大部分的人会进入聊天室聊天,它会给人一个完全自由的聊天世界。 作为一个信息技术专业的学生,经过几年大学知识的系统学习,应该对计算机科 学与技术这个名词有了一定的认识。在这几年里,我对本专业学习也有了长足的进 步,在毕业即临时,我就选择了自己感兴趣的基于 API 的聊天室这个课题作为我的毕 业设计及论文写作,以检验几年来的学习情况。 - 1 -
1.1.2 开发语言的选择 聊天室的发展呈现万花筒般的发展,开发工具可以是 asp,php,cgi,vc++,c#,java 等等,做出的聊天室各有千秋,本人以 java 为开发语言,对聊天室进行开发。 相信熟悉 Java 演进历史的人或多或少都听说过,Java 技术一开始并非就叫做 Java,而是叫做 OAK,而且最早的时候就是为了嵌入式系统而设计的一项产品。后来因 为网际网路的发达,而 OAK 的诸多特性刚好又适合用在网路上(例如可移植性、编译后 程序码很小),因为商标已被注册的关系,因此 OAK 被改名成 Java,从此因缘际会地成 了网路上的闪亮巨星,并随著时间越来越成熟,也慢慢地产生了许多非原本预期中的 相关运用。虽然 Java 已经被用到许多企业级软件上,可是其实骨子里面还是非常适合 用在嵌入式系统之中。 从上图可以看到从 Java1.0 发表之后,Java 就被广泛地使用在桌上型应用程序以 及 Applet 的开发上,但是,从 Java1.1 开始,Java 又回到了它一开始的老路--也就是 嵌 入 式 系 统 方 面 的 应 用 , 在 当 时 SunMicrosystems 发 表 了 EmbeddedJava 与 PersonalJava(也有人简称为 PJava)这两项规格。其中 EmbeddedJava 是为了资源十分 有限,而且没有显示设备的嵌入式装置而设计;PersonalJava 则是为了在能够与网际 网路连线、并拥有显示系统(例如彩色 LCD)的消费性电子装置而设计。接着 Java 的版 本演进到 Java2,这时为了再明显区分各种 Java 的应用,所以分割出了 J2EE、J2SE、 以及 J2ME 三种版本。所有 JAVA 版本与其所依据的虚拟器所堆积起来的结构如图 1.1 所示。 图 1.1JAVA 各版本结构 二、开发环境简介 2.1 开发工具的选择 操作系统:linux 开发工具: - 2 -
JDK1.4 Eclipse、Eclipseme 插件 2.2 关于 JDK1.4 .JDK 是 Sun 公 司 分 发 的 免 费 Java 开 发 工 具 , JavaSDK 最 早 叫 JavaSoftwareDevelopKit,后来改名为 JDK,即 JavaDevelopKit。JDK 作为 Java 开发 工具包,主要用于构建在 Java 平台上运行的应用程序、Applet 和组件等。 2.3JAVA 开发环境的建立 为了能够编写并运行我们所编写的 JAVA 程序,我们需要在自己的本地机器中安装 JDK 开发包,JDK 是内置各种 JAVA 开发工具,JAVA 虚拟机,JAVAAPI 的一个压缩包。 (1)从 java.sun.com 下载 J2SDK,最新的版本是 1.4.2_08,下载后的 JDK 是个 执行文件,我们运行后可直接安装,缺省的安装目录是 C:\j2sdk1.4.2_08。 (2)在电脑中配置环境变量,点右键打开我的电脑属性,在高级中有个环境变 量 , 选 择 新 建 系 统 变 量 : CLASSPATH , 变 量 值 : “C:\j2sdk1.4.2_07\lib\tools.jar;C:\j2sdk1.4.2_07\lib\dt.jar;”,再新建变量 名:PATH,变量值:“C:\j2sdk1.4.2_07;C:\j2sdk1.4.2_07\bin;”。具体设置如图 2-3 所示: 图 2.1 系统环境变量配置 (4)选择一个编译工具。Eclipse 是一款非常优秀的开源 IDE,非常适合 Java 开 发,由于支持插件技术,受到了越来越多的开发者的欢迎。最新的 Eclipse3.1 不但界 面做了很大的增强,而且增加了代码折叠等众多优秀功能,速度也有明显的提升。配 合众多另人眼花缭乱的插件,完全可以满足从企业级 Java 应用到手机终端 Java 游戏 的开发。本人选择了 Eclipse 作为这次毕业设计的工具,选择 Eclipse 作为开发的理 - 3 -
由再简单不过了,占用资源少,JBuilder2005 和 SunONEStudio8.0ME 建议标准内存 1G 以上,最低 512M,目前国内个人电脑一般都达不到这个配置。同时 Eclipse 目前基本 为国内开发 Java 程序的标准的 IDE,使用 Eclipse 将使手机程序开发更加简洁。 (5)安装 Eclipse 插件,并进行相应的配置[5]。 三、项目概况 3.1 功能简介 本系统是 java 基于 c/s 模式的聊天室程序。聊天室共分为服务器端和客户端两个 部分,服务器端程序主要负责侦听客户端发来的消息,客户端需要登录到服务器端才 能实现正常的聊天功能。 (1)服务器端的主要功能有: a.在特定端口上进行侦听,等待客户端连接。 b.用户可以配置服务器的侦听端口,默认是 8889。 c.可以向已经连接的客户端发送体统消息。 d.统计在线人数。 e.停止服务时,断开所有的用户连接。 (2)客户端的主要功能有: a.连接到已经开启聊天服务的服务端。 b.用户可以配置要连接的服务器 IP 地址和端口号。 c.用户可以配置连接后的用户名。 d.服务器开启时,用户可以随时登录与注消。 c.用户可以想所有的人或者指定的个人发送消息。 3.2 套接字通信 套接字通信(socket)是网络的基本通信单元,又称为端口,通常用来实现客户 方和服务方的连接。网络上的两个程序通过双向的连接实现数据的交换,实现双方通 - 4 -
信前链路的每一端都建立一个 socket,通过对 socket 的读写操作实现网络的通信功 能。 socket 通信的过程主要有:创建 socket,打开连接到 socket 的输入流和输出 流,按照一定的协议对 socket 进行读写操作,关闭 socket 这四个步骤,通过这个四 个步骤可以完成一般的 socket 通信。为了完成 socket 通信,java.net 包中提供了 socket 和 serverSocket 这两个类,它们分别用来表示双向连接的客户端和服务器断, 它们的构造函数有: Socket() 通过系统默认类型的 SocketImpl 创建未连接套接字 Socket(InetAddressaddress,intport) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。 Socket(InetAddressaddress,intport,InetAddresslocalAddr,intlocalPort) 创建一个套接字并将其连接到指定远程端口上的指定远程地址。 Socket(Proxyproxy) 根据不管其他设置如何都应使用的指定代理类型(如果有),创建一个未连接的 套接字。 protectedSocket(SocketImplimpl) 创建带有用户指定的 SocketImpl 的未连接 Socket。 Socket(Stringhost,intport) 创建一个流套接字并将其连接到指定主机上的指定端口号。 Socket(Stringhost,intport,InetAddresslocalAddr,intlocalPort) 创建一个套接字并将其连接到指定远程主机上的指定远程端口。 其中端口号涉及到一个分配的问题,TCP/IP 将端口号分成了两个部分,少量的作 为保留端口,端口号小于 256,以全局方式分配给服务进程。因此每一个标准服务器都 拥有一个全局公认的端口,即使在不同的机器上其端口号也是不同的。对于常见的端 口号主要有:80 端口提供 www 服务,23 提供 ftp 服务,110 提供 pop 服务。剩余的为 自由端口, 四、概要设计 本系统是 java 基于 c/s 模式的聊天室程序。聊天室共分为服务器端和客户端两个 部分,服务器端程序主要负责侦听客户端发来的消息,客户端需要登录到服务器端才 - 5 - 服务器端的程序 客户端的程序 建立连接
能实现正常的聊天功能。 4.1 聊天室服务器端设计。 (1)图形界面的设计事件处理。 调 用 java.swing 和 java.awt 包 进 行 图 形 界 面 处 理 和 java.swing.event 与 java.awt.event 事件的侦听处理。 (2)实现服务器消息的收发。 分别定义向所有用户或某一个用户发送消息的方法。 (3)定义用户的管理 定义添加用户,删除用户,返回用户数目,根据用户名查找用户,根据索引查找 用户。 (4)设计帮助文档 单击帮助按钮,弹出一对话框显示本系统的有关信息. ...........4.2 聊天室客户端设计 (1)图形界面以及事件处理 调 用 java.swing 和 java.awt 包 进 行 图 形 界 面 处 理 和 java.swing.event 与 java.awt.event 事件的侦听处理。 (2)实现消息的收发 分别定义向所有用户或某一个用户发送消息的方法。 (3)侦听端口的修改配置 - 6 -
用户对所要连接的服务器 IP 及侦听端口进行修改配置 (4)设计帮助文档 单击帮助按钮,弹出一对话框显示本系统的有关信息.为用户提供信息帮助。 五、详细设计 5.1 服务器端的设计 5.1.1 服务器端的界面设计 界面设计在应用程序很重要。造就一款成功的聊天室软件,抛开其他各种因素不 谈,主菜单的设计非常重要,其关键是可用性。 界面的可用性是指高效、易用、易学、易记。如果用户界面不友好,即使用户对 其感兴趣,由于菜单的原因使缺乏人性化设置,用户也不会再使用这个软件。一个友 好的界面是非常关键的,界面设计必须在软件设计时就进行事件添加和事件侦听和事 件 处 理 。 调 用 serverlisten ( ) 来 实 现 服 务 端 用 户 上 线 和 下 线 的 侦 听 , 调 用 serverReceive()来实现服务器的消息收发。 服务器端的界面如下: - 7 -
分享到:
收藏