ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:31.14KB ,
资源ID:26990974      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26990974.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA聊天室实验报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA聊天室实验报告.docx

1、JAVA聊天室实验报告JAVA聊天室实验报告姓名 :马琳越班级 : 131114学号:日期 :2014 年 4 月 23 日目 录 2JAVA程序课程设计任务书 3摘要 4第 1 章 引言 5第 2 章 聊天室系统的设计 7第 3 章 界面设计 11Java 聊天室的设计任务书1.主要内容用JAVA实现基于C/S模式的聊天室系统。聊天室分为服务器端和客户端部 分,服务器端程序主要负责侦听客户端发来的信息, 客户端需要登陆到服务器端 才可以实现正常的聊天功能。2.具体要求A.服务器端主要功能(1) . 在特定端口上进行侦听,等待客户端连接。(2) . 用户可以配置服务器端的侦听端口,默认端口为

2、8888。(3) . 向已经连接到服务器端的用户发送系统消息。B.客户端主要功能(1) . 连接到已经开启聊天服务的服务器端。(2) . 用户可以配置要连接的服务器端的 IP 地址和端口号。(3) . 用户可以配置连接后显示的用户名。(4) . 用户可以向所有人或某一个人发送消息。3.主要参考文献及运用工具( 1) Bruce Eckel 着 Thinking in Java , 李刚 着 疯狂 Java讲义( 2)使用技术: Java 使用开发工具: Eclipse摘要在网络越来越发达的今天, 人们对网络的依赖越来越多, 越来越离不开网络, 由此而产生的聊天工具越来越多,例如,国外的ICQ、

3、国内腾讯公司开发的OICQ 基于 Java 网络编程的强大功能,本次大作业要求使用 Java 编写一个聊天系统。一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存 放客户数据的数据库组成, 但是, 由于自己数据库知识的部分遗忘, 本程序未连 接数据库,采用客户机/服务器架构模式,通过Java提供的Soket类来连接客户 机和服务器并使客户机和服务器之间相互通信。本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的 设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过 Socket传送消息。使用JAVA语言编写,开发工具采用 Eclipse。服

4、务器端设计 与实现过程中, 采用了多线程技术, 可以在单个程序当中同时运行多个不同的线 程,执行不同的任务。大大增强了程序对服务器资源的利用。聊天系统完成后将可进行多人对多人的聊天, 对好友进行添加、 删除,对新 用户的注册,发送消息、接受消息等等功能。第 1 章 引言背景在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开 网络,由此而产生的聊天工具越来越多,类似 QQ网络聊天时一类的聊天系 统的发展日新月异, 这些软件唯一的不足就是必须要联网或者下载到它们的 服务端,要不然是没法脱离 Intenet 使用的。此次大作业既是利用网络编程 写一个聊天室,以期通过制作该程序能更好的学习

5、网络软件编程知识,此聊 天室为能在一个没有连接到 Intenet 的局域网使用聊天工具。网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行 通讯。网编程中有两个主要的问题,一个是如何准确的定位网络上一台或多 台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在 TCP/IP 协议中 IP 层主要负责网络主机的定位,数据传输的路由,由 IP 地址可以唯 一地确定In ternet上的一台主机。而TCP层则提供面向应用的可靠的或非可 靠的数据传输机制, 这是网络编程的主要对象, 一般不需要关心 IP 层是如何 处理数据的。目前较为流行的网络编程模型是客户机 /服务器(C/S)结构。

6、 即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服 务时向服务器提出申请。 服务器一般作为守护进程始终运行, 监听网络端口, 一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听 服务端口,使后来的客户也能及时得到服务。课程设计要求利用套接字 socket ()设计一个聊天程序,该程序基于 C/S 模式, 运行服务程序后, 服务器创建成功, 然后使服务器对某一个设定的端口处于 监听状态,当有客户端请求建立连接时,服务器就可接受请求,建立连接! 这样服务器和客户端就可相互发送消息,实现聊天功能!项目功能特点1基本功能实现服务器监听,客户端连接,可进行多人会话的 C

7、/S 聊天室。2服务器特点( 1) . 在特定端口上进行侦听,等待客户端连接。(2). 用户可以配置服务器端的侦听端口,默认端口为 8888(3). 向已经连接到服务器端的用户发送系统消息。3. 客户端特点(1). 连接到已经开启聊天服务的服务器端。(2). 用户可以配置要连接的服务器端的 IP 地址和端口号。(3). 用户可以配置连接后显示的用户名。(4). 用户可以向所有人或某一个人发送消息。功能实现1) . 注册功能2) . 登陆验证功能功能3). 客户通过服务器转发 , 实现聊天功能 .4) . 实现公聊功能。5). 易用,美观的图形界面 , 实现系统托盘 .第2章聊天室系统的设计系统

8、需求分析聊天室的设计目标:通过做巩固所学Java语言基本知识,增进Java语言编辑基 本功,掌握JDK Eclipse等开发工具的运用,拓宽常用类库的应用,用 JAVA实现基于C/S模式的聊天室系统。需要实现以下一些基本功能:A.消息发送:用户可以发送消息给聊天室里所有的用户。B.消息接受:用户可以接收到其他用户发送给他的消息。C聊天室管理功能:聊天室管理员可以启动或者关闭聊天室服务。系统开发及运行环境硬件平台:CPU Pentium 以上。 内存:256MB以上。软件平台:操作系统:Windows XP。运行环境:JDK Eclipse系统主要功能要求聊天室分为服务器端和客户端两部分,服务器

9、端程序主要负责侦听客户端发 来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。 本系统主要实现如下功能:服务器:在特定端口上进行侦听,等待客户端连接。用户可以配置服务器端的侦听端口,默认端口为 8888向已经连接到服务器端的用户发送系统消息。一台主机只能启动一个服务器。客户端:连接到已经开启聊天服务的服务器端用户可以配置要连接的服务器端的IP地址和端口号。用户可以配置连接后显示的用户名。当服务器端开启后,用户可以随时登录和注册。 用户可以向所有人发送消息。基本设计概念和处理流程本系统运行用JAVA开发,采用CS结构,系统分为客服端和服务端两大模块,使用Socket类建立套接字实现客服

10、端和服务端得通讯。(1)系统主体的处理流程:发送请求客服端 4 服务端返回应答(2)总体结构(3)功能分配客户端和服务器模块功能树图客户端:服务端:设计原理通信方式1)服务器建立一个 TCP监听端口,等待客户端连接。2 )客户连接服务器,服务器生成一个 Socket服务该用户。3)服务器接收来自客户端的聊天信息,然后遍历转发给所有在线用户。具体软件的运行模块组合为客户端窗口的运行环境,服务器无窗口环境,服务器与 客户端在运行过程中传输字符,交换信息,处理数据。第 3 章 界面设计(1)注册登陆界面(2)注册成功界面图(3)重复注册界面图a client connected(3)登陆界面图 登陆

11、成功既跳出兑话框,服务器端将显示“登陆成功”以及(4) 客户端界面图(5) 多人群聊界面图第 4 章 总结1. 实验中遇到的问题以及解决整个程序的框架写出来后, 准备启动多个客户端才发现此时不能同时启动 多个客户端,后来阅读到课本 “多线程”那一章,用多线程解决了此问题。 后来, 在客户端以及服务器端的交互过程中, 不停的出现着各种异常以及问题, 比方说 IOException,EOFException ,Socket Closed, 在不断的调试程序以及在网上找寻 的视频学习的过程中才解决这些问题。 后来在写登陆注册时, 也会不断的出现问 题,不是可以重复注册就是注册了点登陆却不能响应, 诸

12、如此类的很多问题, 自 己调试了许久也并没有解决问题,最后找同学帮忙修改了此段程序。2. 实验总结这次的大作业应该是我接触到的第一个项目, 项目虽小, 却能暴露出很多 问题。项目伊始,我在网上找了马士兵的 java 讲课视频来看,为自己做项目找 到了一个大体的思路, 但是当自己着手做的时候, 又会暴露很多问题, 其中不乏 有基础知识没有掌握牢固的部分,所以说,此次的 java 大作业也是一个巩固所 学知识的很好的机会。 而且,通过这次大作业, 我认识到实战一个项目所得到的 远比整天抱着书本看知识更能长知识,这个项目使我在运用 GU、线程、java网络和流等的方面更加熟练, 对于细小的知识点也更

13、加巩固。 而且,通过这个项 目,我更深深的体会到:好的程序不是写出来的,而是改出来的。此次编程,自 己事先罗列了一个提纲: 该实现什么功能, 要实现此功能首先该实现什么。 就这 样一步步剖析到最底层一个很简单的东西, 而自己的编码就从这个入手, 然后一 步步扩充,并不断调试,使程序更加健壮。通过这次作业我已经认识到了实战的重要性, 写这份作业的这段时间是忙 碌并且充实的,之后,我也会每天都写一些代码来锻炼自己。本次实验运用了 Eclipse, 它确实很智能, 很方便,但平时的训练中, 我依旧会使用记事本来编码, 这样,我才回更扎实的掌握 java ,我相信一段时间以后,自己的积淀已经够深, 自己也有资格去借助 Eclipse 去完成更多的项目。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1