




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA 聊天室实验报告聊天室实验报告 姓名姓名:马琳越 班级班级:131114 学号学号:13111368 日期日期:2014 年 4 月 23 日 目目 录录 目目 录录.2 JAVA 程序课程设计任务书程序课程设计任务书 .3 摘要摘要.4 第第 1 章章 引言引言.5 第第 2 章章 聊天室系统聊天室系统的设计的设计.7 第第 3 章章 界面设计界面设计.11 第第 4 章章 总结总结.14 Java 聊天室的设计任务书聊天室的设计任务书 1.主要内容主要内容 用 JAVA 实现基于 C/S 模式的聊天室系统。聊天室分为服务器端和客户端 部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务 器端才可以实现正常的聊天功能。 2.具体要求具体要求 A服务器端主要功能服务器端主要功能 (1).在特定端口上进行侦听,等待客户端连接。 (2).用户可以配置服务器端的侦听端口,默认端口为 8888。 (3).向已经连接到服务器端的用户发送系统消息。 B. 客户端主要功能客户端主要功能 (1).连接到已经开启聊天服务的服务器端。 (2).用户可以配置要连接的服务器端的 IP 地址和端口号。 (3).用户可以配置连接后显示的用户名。 (4).用户可以向所有人或某一个人发送消息。 3.主要参考文献及运用工具主要参考文献及运用工具 (1)Bruce Eckel 著 Thinking in Java , 李刚 著 疯狂 Java 讲 义 (2)使用技术:Java 使用开发工具:Eclipse 摘摘 要要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网 络,由此而产生的聊天工具越来越多,例如,国外的 ICQ、国内腾讯公司开发 的 OICQ。基于 Java 网络编程的强大功能,本次大作业要求使用 Java 编写一个 聊天系统。 一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于 存放客户数据的数据库组成,但是,由于自己数据库知识的部分遗忘,本程序 未连接数据库,采用客户机/服务器架构模式,通过 Java 提供的 Soket 类来连 接客户机和服务器并使客户机和服务器之间相互通信。 本系统建立在 JAVA 平台上,系统的设计使用了面向对象技术和面向对象的 设计原则。系统采用 C/S 结构,客户端与客户端以及客户端与服务器端之间通 过 Socket 传送消息。使用 JAVA 语言编写,开发工具采用 Eclipse。服务器端 设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不 同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。 聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对 新用户的注册,发送消息、接受消息等等功能。 第第 1 章章 引言引言 1.1 背景背景 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不 开网络,由此而产生的聊天工具越来越多,类似 QQ,网络聊天时一类的聊天 系统的发展日新月异,这些软件唯一的不足就是必须要联网或者下载到它 们的服务端,要不然是没法脱离 Intenet 使用的。此次大作业既是利用网 络编程写一个聊天室,以期通过制作该程序能更好的学习网络软件编程知 识,此聊天室为能在一个没有连接到 Intenet 的局域网使用聊天工具。 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行 通讯。网编程中有两个主要的问题,一个是如何准确的定位网络上一台或多 台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在 TCP/IP 协议中 IP 层主要负责网络主机的定位,数据传输的路由,由 IP 地址可以唯 一地确定 Internet 上的一台主机。而 TCP 层则提供面向应用的可靠的或非 可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心 IP 层是 如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(C/S)结 构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需 要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络 端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继 续监听服务端口,使后来的客户也能及时得到服务。 1.2 课程设计课程设计要求要求 利用套接字 socket()设计一个聊天程序,该程序基于 C/S 模式, , 运行服务程序后,服务器创建成功,然后使服务器对某一个设定的端口处 于监听状态,当有客户端请求建立连接时,服务器就可接受请求,建立连 接!这样服务器和客户端就可相互发送消息,实现聊天功能! 1.3 项目功能特点项目功能特点 1基本功能 实现服务器监听,客户端连接,可进行多人会话的 C/S 聊天室。 2服务器特点 (1).在特定端口上进行侦听,等待客户端连接。 (2).用户可以配置服务器端的侦听端口,默认端口为 8888。 (3).向已经连接到服务器端的用户发送系统消息。 3. 客户端特点 (1).连接到已经开启聊天服务的服务器端。 (2).用户可以配置要连接的服务器端的 IP 地址和端口号。 (3).用户可以配置连接后显示的用户名。 (4).用户可以向所有人或某一个人发送消息。 1.4 功能实现功能实现 (1). 注册功能 (2). 登陆验证功能功能 (3 3). 客户通过服务器转发,实现聊天功能. (4 4). 实现公聊功能。 (5 5). 易用,美观的图形界面,实现系统托盘. 第第 2 章章 聊天室系统的设计聊天室系统的设计 2.1 系统需求分析系统需求分析 聊天室的设计目标:通过做巩固所学 Java 语言基本知识,增进 Java 语言编辑基 本功,掌握 JDK、Eclipse 等开发工具的运用,拓宽常用类库的应用,用 JAVA 实现基于 C/S 模式的聊天室系统。 需要实现以下一些基本功能: A消息发送:用户可以发送消息给聊天室里所有的用户。 B消息接受:用户可以接收到其他用户发送给他的消息。 C聊天室管理功能:聊天室管理员可以启动或者关闭聊天室服务。 2.2 系统开发及运行环境系统开发及运行环境 硬件平台: CPU:Pentium 2.8GHz 以上。 内存:256MB 以上。 软件平台: 操作系统:Windows XP。 运行环境:JDK Version1.7 Eclipse 2.3 系统主要功能要求系统主要功能要求 聊天室分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端 发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。本系统 主要实现如下功能: 服务器: 在特定端口上进行侦听,等待客户端连接。 用户可以配置服务器端的侦听端口,默认端口为 8888。 向已经连接到服务器端的用户发送系统消息。 一台主机只能启动一个服务器。 客户端: 连接到已经开启聊天服务的服务器端。 用户可以配置要连接的服务器端的 IP 地址和端口号。 用户可以配置连接后显示的用户名。 当服务器端开启后,用户可以随时登录和注册。 用户可以向所有人发送消息。 2.4 基本设计概念和处理流程基本设计概念和处理流程 本系统运行用本系统运行用 JAVA 开发,采用开发,采用 CS 结构,系统分为客服端和服务端两大模块,结构,系统分为客服端和服务端两大模块, 使用使用 Socket 类建立套接字实现客服端和服务端得通讯。类建立套接字实现客服端和服务端得通讯。 (1)系统主体的处理流程: 发送请求 返回应答 (2)总体结构 客服端客服端服务端服务端 网络聊天室 服务端 客服端 (3)功能分配 客户端和服务器模块功能树图 客户端: 客服端客服端 显示在线用户显示在线用户 接收并显示消息接收并显示消息 服务端: 服务端服务端 转发用户消息转发用户消息 处理用户注册,登录申处理用户注册,登录申 请请 服务器管理服务器管理 2.4 设计原理设计原理 通信方式通信方式 1)服务器建立一个 TCP 监听端口,等待客户端连接。 2) 客户连接服务器,服务器生成一个 Socket 服务该用户。 3)服务器接收来自客户端的聊天信息,然后遍历转发给所有在线用户。 2.5 运行方式运行方式 具体软件的运行模块组合为客户端窗口的运行环境,服务器无窗口环境,服务器与 客户端在运行过程中传输字符,交换信息,处理数据。 第第 3 章章 界面设计界面设计 (1)注册登陆界面 (2)注册成功界面图 (3)重复注册界面图 (3)登陆界面图 登陆成功既跳出兑话框,服务器端将显示“登陆成功”以及“a client connected” (4)客户端界面图 (5)多人群聊界面图 。 第第 4 章章 总结总结 1.实验中遇到的问题以及解决实验中遇到的问题以及解决 整个程序的框架写出来后,准备启动多个客户端才发现此时不能同时启 动多个客户端,后来阅读到课本“多线程”那一章,用多线程解决了此问题。 后来,在客户端以及服务器端的交互过程中,不停的出现着各种异常以及问题, 比方说 IOException,EOFException,Socket Closed,在不断的调试程序以及在网上 找寻的视频学习的过程中才解决这些问题。后来在写登陆注册时,也会不断的 出现问题,不是可以重复注册就是注册了点登陆却不能响应,诸如此类的很多 问题,自己调试了许久也并没有解决问题,最后找同学帮忙修改了此段程序。 2.实验总结实验总结 这次的大作业应该是我接触到的第一个项目,项目虽小,却能暴露出很 多问题。项目伊始,我在网上找了马士兵的 java 讲课视频来看,为自己做项目 找到了一个大体的思路,但是当自己着手做的时候,又会暴露很多问题,其中 不乏有基础知识没有掌握牢固的部分,所以说,此次的 java 大作业也是一个巩 固所学知识的很好的机会。而且,通过这次大作业,我认识到实战一个项目所 得到的远比整天抱着书本看知识更能长知识,这个项目使我在运用 GUI、线程、 java 网络和流等的方面更加熟练,对于细小的知识点也更加巩固。而且,通过 这个项目,我更深深的体会到:好的程序不是写出来的,而是改出来的。此次 编程,自己事先罗列了一个提纲:该实现什么功能,要实现此功能首先该实现 什么。就这样一步步剖析到最底层
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年外贸业务专员面试指南及模拟题答案详解
- 2025年地理信息系统应用实战教程高级版预测题集
- 2025年数据分析师中级考试模拟题及答案详解
- 2025年特岗教师招聘初中数学逻辑思维与解题能力测试题目集萃
- 2025年特岗教师招聘初中数学面试备考策略与经典模拟题解析
- 2025年特岗教师招聘笔试物理考试题型分析
- 2025年国家图书馆公务员招录笔试模拟题详解
- 2025年公务员职业道德教育课程资料与试题集答案解析
- 2025年房地产销售员招聘考试指南及题库
- 2025年智能包装项目申请报告模板
- KET教学课件新版
- 大数据与金融课件
- 《人类行为与社会环境》课件
- 头位难产识别和处理
- (完整版)文献调研报告模板
- CS4000高级过程控制实验装置设备操作说明书
- 《透视灵魂看人生》-曾仕强
- 浅谈新课标下的高中英语教学
- 企业安全标准化班组建设PPT课件
- 超长混凝土结构温度应力分析
- 金沙县网约车从业资格考试模拟试卷
评论
0/150
提交评论