版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java 聊天室实验报告聊天室实验报告姓名姓名:马琳越班级班级:131114学号学号:13111368日期日期:2014 年 4 月 23 日目目 录录目目 录录.2java 程序课程设计任务书程序课程设计任务书 .3摘要摘要.4第第 1 章章 引言引言.5第第 2 章章 聊天室系统聊天室系统的设计的设计.7第第 3 章章 界面设计界面设计.11第第 4 章章 总结总结.14java 聊天室的设计任务书聊天室的设计任务书1.主要内容主要内容 用 java 实现基于 c/s 模式的聊天室系统。聊天室分为服务器端和客户端部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以
2、实现正常的聊天功能。2.具体要求具体要求a服务器端主要功能服务器端主要功能(1).在特定端口上进行侦听,等待客户端连接。(2).用户可以配置服务器端的侦听端口,默认端口为 8888。(3).向已经连接到服务器端的用户发送系统消息。b. 客户端主要功能客户端主要功能(1).连接到已经开启聊天服务的服务器端。(2).用户可以配置要连接的服务器端的 ip 地址和端口号。(3).用户可以配置连接后显示的用户名。(4).用户可以向所有人或某一个人发送消息。3.主要参考文献及运用工具主要参考文献及运用工具(1)bruce eckel 著 thinking in java , 李刚 著 疯狂 java 讲义
3、 (2)使用技术:java 使用开发工具:eclipse 摘摘 要要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的 icq、国内腾讯公司开发的 oicq。基于 java 网络编程的强大功能,本次大作业要求使用 java 编写一个聊天系统。 一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,但是,由于自己数据库知识的部分遗忘,本程序未连接数据库,采用客户机/服务器架构模式,通过 java 提供的 soket 类来连接客户机和服务器并使客户机和服务器之间相互通信。 本系统建立在 java 平台上
4、,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用 c/s 结构,客户端与客户端以及客户端与服务器端之间通过 socket 传送消息。使用 java 语言编写,开发工具采用 eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。第第 1 章章 引言引言1.1 背景背景在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似 qq,网络聊天
5、时一类的聊天系统的发展日新月异,这些软件唯一的不足就是必须要联网或者下载到它们的服务端,要不然是没法脱离 intenet 使用的。此次大作业既是利用网络编程写一个聊天室,以期通过制作该程序能更好的学习网络软件编程知识,此聊天室为能在一个没有连接到 intenet 的局域网使用聊天工具。网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在 tcp/ip协议中 ip 层主要负责网络主机的定位,数据传输的路由,由 ip 地址可以唯一地确定 internet 上的一台主机
6、。而 tcp 层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心 ip 层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务器(c/s)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。1.2 课程设计课程设计要求要求利用套接字 socket()设计一个聊天程序,该程序基于 c/s 模式, ,运行服务程序后,服务器创建成功,然后使服务器对某一个设定的端口处于
7、监听状态,当有客户端请求建立连接时,服务器就可接受请求,建立连接!这样服务器和客户端就可相互发送消息,实现聊天功能!1.3 项目功能特点项目功能特点1基本功能实现服务器监听,客户端连接,可进行多人会话的 c/s 聊天室。2服务器特点(1).在特定端口上进行侦听,等待客户端连接。(2).用户可以配置服务器端的侦听端口,默认端口为 8888。(3).向已经连接到服务器端的用户发送系统消息。3. 客户端特点(1).连接到已经开启聊天服务的服务器端。(2).用户可以配置要连接的服务器端的 ip 地址和端口号。(3).用户可以配置连接后显示的用户名。(4).用户可以向所有人或某一个人发送消息。1.4 功
8、能实现功能实现(1). 注册功能(2). 登陆验证功能功能(3 3). 客户通过服务器转发,实现聊天功能.(4 4). 实现公聊功能。(5 5). 易用,美观的图形界面,实现系统托盘.第第 2 章章 聊天室系统的设计聊天室系统的设计2.1 系统需求分析系统需求分析聊天室的设计目标:通过做巩固所学 java 语言基本知识,增进 java 语言编辑基本功,掌握 jdk、eclipse 等开发工具的运用,拓宽常用类库的应用,用 java实现基于 c/s 模式的聊天室系统。需要实现以下一些基本功能:a消息发送:用户可以发送消息给聊天室里所有的用户。b消息接受:用户可以接收到其他用户发送给他的消息。c聊
9、天室管理功能:聊天室管理员可以启动或者关闭聊天室服务。2.2 系统开发及运行环境系统开发及运行环境硬件平台:cpu:pentium 2.8ghz 以上。内存:256mb 以上。软件平台:操作系统:windows xp。运行环境:jdk version1.7 eclipse 2.3 系统主要功能要求系统主要功能要求聊天室分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。本系统主要实现如下功能:服务器:在特定端口上进行侦听,等待客户端连接。用户可以配置服务器端的侦听端口,默认端口为 8888。向已经连接到服务器端的用户发送系统消
10、息。一台主机只能启动一个服务器。客户端:连接到已经开启聊天服务的服务器端。用户可以配置要连接的服务器端的 ip 地址和端口号。用户可以配置连接后显示的用户名。当服务器端开启后,用户可以随时登录和注册。用户可以向所有人发送消息。2.4 基本设计概念和处理流程基本设计概念和处理流程本系统运行用本系统运行用 java 开发,采用开发,采用 cs 结构,系统分为客服端和服务端两大模块,结构,系统分为客服端和服务端两大模块,使用使用 socket 类建立套接字实现客服端和服务端得通讯。类建立套接字实现客服端和服务端得通讯。(1)系统主体的处理流程:发送请求返回应答(2)总体结构客服端客服端服务端服务端网
11、络聊天室服务端客服端(3)功能分配客户端和服务器模块功能树图客户端:客服端客服端显示在线用户显示在线用户接收并显示消息接收并显示消息服务端:服务端服务端转发用户消息转发用户消息处理用户注册,登录申处理用户注册,登录申请请服务器管理服务器管理2.4 设计原理设计原理通信方式通信方式1)服务器建立一个 tcp 监听端口,等待客户端连接。 2) 客户连接服务器,服务器生成一个 socket 服务该用户。3)服务器接收来自客户端的聊天信息,然后遍历转发给所有在线用户。2.5 运行方式运行方式 具体软件的运行模块组合为客户端窗口的运行环境,服务器无窗口环境,服务器与客户端在运行过程中传输字符,交换信息,
12、处理数据。第第 3 章章 界面设计界面设计(1)注册登陆界面(2)注册成功界面图(3)重复注册界面图(3)登陆界面图登陆成功既跳出兑话框,服务器端将显示“登陆成功”以及“a client connected”(4)客户端界面图(5)多人群聊界面图 。 第第 4 章章 总结总结1.实验中遇到的问题以及解决实验中遇到的问题以及解决 整个程序的框架写出来后,准备启动多个客户端才发现此时不能同时启动多个客户端,后来阅读到课本“多线程”那一章,用多线程解决了此问题。后来,在客户端以及服务器端的交互过程中,不停的出现着各种异常以及问题,比方说 ioexception,eofexception,socket
13、 closed,在不断的调试程序以及在网上找寻的视频学习的过程中才解决这些问题。后来在写登陆注册时,也会不断的出现问题,不是可以重复注册就是注册了点登陆却不能响应,诸如此类的很多问题,自己调试了许久也并没有解决问题,最后找同学帮忙修改了此段程序。2.实验总结实验总结 这次的大作业应该是我接触到的第一个项目,项目虽小,却能暴露出很多问题。项目伊始,我在网上找了马士兵的 java 讲课视频来看,为自己做项目找到了一个大体的思路,但是当自己着手做的时候,又会暴露很多问题,其中不乏有基础知识没有掌握牢固的部分,所以说,此次的 java 大作业也是一个巩固所学知识的很好的机会。而且,通过这次大作业,我认识到实战一个项目所得到的远比整天抱着书本看知识更能长知识,这个项目使我在运用 gui、线程、java 网络和流等的方面更加熟练,对于细小的知识点也更加巩固。而且,通过这个项目,我更深深的体会到:好的程序不是写出来的,而是改出来的。此次编程,自己事先罗列了一个提纲:该实现什么功能,要实现此功能首先该实现什么。就这样一步步剖析到最底层一个很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年温县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年怀远县医疗事业单位人员招聘笔试备考题库及答案解析
- 2026年曲周县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年神池县社区工作者招聘笔试备考题库及答案解析
- 2026年桓仁满族自治县医疗事业单位人员招聘笔试参考题库及答案解析
- 2026年寿宁县社区工作者招聘笔试模拟试题及答案解析
- 高中一年级信息技术教学设计:5.2使用数据库-从数据查询到数据管理
- 小学四年级科学原子钟寻亲记教学设计-基于时间测量演变的大单元探究课例
- 2026年金门县医疗事业单位人员招聘考试模拟试题及答案解析
- 小学三年级下册科学《小苗快长》教学设计
- 化工行业的法律与法规
- 《保健艾灸师》专项测试题附答案
- 全国2023年4月自考00018《计算机应用基础》真题
- 第3讲“运动图像”的分类研究
- 台球厅暂停营业通知(4篇)
- 人教版二年级上册《道德与法治》全册教案
- 初三数学开学第一课
- 教科版四年级英语上册(广州版)全册课件【完整版】
- 国家审计报告
- 重庆市药品技术审评查验中心工作人员岗招考聘用35人笔试题库含答案解析
- GB/T 17421.2-2016机床检验通则第2部分:数控轴线的定位精度和重复定位精度的确定
评论
0/150
提交评论