2022年java课程设计-聊天程序.pdf
《2022年java课程设计-聊天程序.pdf》由会员分享,可在线阅读,更多相关《2022年java课程设计-聊天程序.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、java 课程设计 - 聊天程序攀枝花学院Java程序设计课程设计题目: 聊天程序学生姓名 : Puter 学号: 2 所在院 ( 系): 数学与计算机学院专业: 网络工程班级: 2013级网本指 导 教 师: 吴建斌职称 : 导师2014 年 12 月 31 日精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序攀枝花学院本科学生课程设计任务书题目聊天程序1、课程设计的目的通过本课程设计使学生能够较全面的掌握面向对
2、象程序设计的有关概念与开发方法 , 以便能较全面地理解、掌握与综合运用所学的知识, 提高自身的编程能力。2、课程设计的内容与要求(包括原始数据、技术要求、工作要求等) 该程序实现聊天功能 , 包括服务器段程序与客户端程序。要求: (1) 客户端程序 : 可连接到服务器 , 并将消息发送到服务器端与接受服务器端发送来的消息。(2) 服务器端程序 : 可将消息发送到客户端与接受客户端发送来的消息。3、主要参考文献1朱福喜、 Java语言程序设计 (第二版 )、科学出版社2陈国君等、 Java程序设计基础 (第二版 )、清华大学出版社3 Deitel、Java大学基础教程 (第六版 )、电子工业出版
3、社4 MaryCampione、Java语言导学 (第四版 )、机械工业出版社5 Y 、Daniel Liang、Java语言程序设计基础篇 (第六版 )、 机械工业出版社6 Kathy Sierra、Head First Java (第二版 )、东南大学出版社4、课程设计工作进度计划序号时间( 天) 内容安排备注1 1 分析设计准备周一2 2 编程调试阶段周二至周三3 1 编写课程设计报告周四4 1 考核周五总计5(天) 指导教师 (签字 )日期年月日教研室意见 : 年月日学生 (签字 ): 接受任务时间: 年月日注:任务书由指导教师填写。课程设计 ( 论文 ) 指导教师成绩评定表精品资料
4、- - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序题目名称聊天程序评分项目分值得分评价内涵工作表现20% 01 学习态度6 遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02 科学实践、调研7 通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03 课题工作量7 按期圆满完成规定的任务,工作量饱满。能力水平35% 04 综合运用知识的能力10 能运用所学知识与技能去发现与解决实际问题,能正确处理实验
5、数据,能对课题进行理论分析,得出有价值的结论。05 应用文献的能力5 能独立查阅相关文献与从事其她调研;能提出并较好地论述课题的实施方案;有收集、 加工各种信息及获取新知识的能力。06 设计 (实验 )能力 ,方案的设计能力5 能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07 计算及计算机应用能力5 具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理与辅助设计等。08 对计算或实验结果的分析能力(综合分析能力、技术经济分析能力 ) 10 具有较强的数据收集、分析、处理、 综合的能力。成果质量45% 09 插图 (或图纸 )质量
6、、篇幅、设计(论文 )规范化程度5 符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10 设计说明书 (论文 )质量30 综述简练完整 ,有见解 ;立论正确 ,论述充分 ,结论严谨合理 ;实验正确 ,分析处理科学。11 创新10 对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年月日精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序目录摘要、 、 、 、 、 、 、 、 、 、 、
7、、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、1一、 需求分析、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、1二、 概要设计、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、3三、详细设计、 、 、 、 、 、 、 、 、 、 、 、 、 、
8、、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、4 四、 调试分析、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、4 五、 结论、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、14 六、 实验分工、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
9、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、14 七、 参考文献、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、14精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序摘要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开
10、网络,由此而产生的聊天工具越来越多,例如 ,国外的 ICQ、国内腾讯公司开发的OICQ 。基于 Java网络编程的强大功能 ,本次毕业设计使用Java编写一个聊天系统。一般来说 ,聊天工具大多数由客户端程序与服务器程序外加服务器端用于存放客户数据的数据库组成 ,本系统采用客户机/服务器架构模式通过Java提供的 Soket 类来连接客户机与服务器并使客户机与服务器之间相互通信,由于聊天就是多点对多点的而Java 提供的多线程功能用多线程可完成多点对多点的聊天,数据库管理系统用SQL Server2000完成并通过JDBC-ODBC桥访问数据库。现在的各种聊天工具功能越来越强大,但就是它们的唯一
11、的不足就就是必须要联网或者下载到它们的服务端,要不然就是没法脱离Intenet 使用的。为了能在一个没有连接到Intenet 的局域网使用聊天工具,那就必须要有服务器端。本系统就就是包括服务器端与客户端,可以在局域网聊天的一个工具。建立在 JAVA 平台上,系统的设计使用了面向对象技术与面向对象的设计原则。系统采用C/S 结构 ,客户端与客户端以及客户端与服务器端之间通过Socket 传送消息。使用JAVA 语言编写 ,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程 ,执行不同的任务。大大增强了程序对服务器资源的利用。聊天系统完
12、成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。关键词:多线程 ;客户机/服务器 ;JAVA ; Socket ; Eclipse ; TCP/IP 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序一、需求分析为了更好的掌握java 这门课程的内容, 同时更好的理解与掌握socket 编程 ,对所有面向对象的编程思想以及编程方法的一个总结、回顾与实践,掌握 Java
13、 语言编程技巧。要求使用图形用户界面。 能实现一个聊天室中多人聊天。可以两人私聊。 (提示 :使用 socket 通信 )程序描述清晰准确 ,思路清晰 ,程序能够实现相应的功能。聊天时系统就是通过即时通讯技术来实现在线聊天、交流的软件。目前有2种架构形式 ,1、一种就是C/S 架构 ,采用客户端 /服务器形式 ,用户使用过程中需要下载安装客户端软件,典型的代表有:QQ、百度 HI 、Skype QQ VS GU 、Gtalk、新浪 UC、MSN 等;2、采用 B/S 架构 ,即浏览器 /服务端形式 ,这种形式的即时通讯软件,直接借助互联网为媒介、客户端无需安装任何软件,既可以体验服务器端进行沟
14、通对话,一般运用在电子商务网站的服务商,典型的代表有Websitelive 、53KF 、live800 等二、概要设计目前国内外做聊天系统的公司很多,产品也琳琅满目 ,国内有诸如腾讯QQ、新浪UC、网易泡泡等 ,国外有著名的MSN( 新版改名为Live Messenger)以及跨平台Gaim 等。本人取最具代表性的QQ 与 MSN 进行了一些研究 ,作为我开发聊天系统的准备。腾讯无疑就是国内即时通讯市场的霸主,自从 99年进入即时通讯领域并迅速占市场之后 ,其在国内用户数量始终高居榜首,即使近几年面对微软MSN 的强大攻势 ,腾讯 QQ 的时常占有率依然稳步增长。 腾讯的成功与其对QQ 的不
15、断创新与完善就是分不开的。参考了许多网络上的资料,以及自己通过观察腾讯QQ 运行时的各种细节。可以确定腾讯 QQ 就是以多服务器提供服务、服务器总控客户端、客户端之间UDP直连通信的。并且在两个客户端之间不能建立直连的情况下,才由服务器进行中转通信。其模型如图 1-1 图 1、1 三、详细设计精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序通过 TCP 网络编程 ,主要编写有客户端与服务器端两个部分,服务器端通过
16、循环一直从客户端接收信息,并通过线程实现多个客户端连接。服务器发送信息则通过定义链表保存客户端信息。每个客户端向服务器发送信息时,则通过链表中的所有客户端的连接而发送信息给所有客户端界面从而实现局域网内多人聊天。而客户端则主要就是界面的编写,通过一个线程一直从服务器获取信息,如果不为空时就在界面上显示。四、调试分析1、首先运行服务器如图1、2: 图 1、2 分析:服务器进入阻塞状态。等待连接。主要代码 : package org 、pzhu、net、server; import java、io、IOException; import java、net、ServerSocket; import
17、java、net、Socket; import java、util 、ArrayList; import java、util 、List; import org、pzhu、net、server、thread、ThreadServer; public class Server /服务器功能实现private ServerSocket server = null ; public static List list = new ArrayList() ;/定义链表储存客户信息private Socket client = null ; private int count = 0 ; public S
18、erver() try server = new ServerSocket(8888) ; /创建服务器 catch (IOException e1) e1、printStackTrace(); System、out、println( 等待服务器被连接); boolean flag = true ; while(flag) synchronized(this) try client = server、accept() ; count+; /记录客户连接数目精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7
19、 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序 catch (IOException e1) e1、printStackTrace(); list、add(client) ; System、out、println( 第+count+客户端被连接! ); try new Thread(new ThreadServer(client) 、start();/定义线程 ,实现多个客户端连接 catch (Exception e) e、printStackTrace(); flag = false ; try server 、close(); catch (
20、IOException e) e、printStackTrace(); package org 、pzhu、net、server、thread; import java、io、BufferedReader; import java、io、InputStreamReader; import java、io、PrintStream; import java、net、Socket; import java、util 、Iterator; import org、pzhu、net、server、util、ListCO; public class ThreadServer implements Runna
21、ble /定义线程 ,实现多个客户端连接private BufferedReader buf = null ; private Socket client = null ; public ThreadServer(Socket client) throws Exception this、client = client ; buf=new BufferedReader(new InputStreamReader(this、 client 、getInputStream() ; /连接从客户端获取信息 Override public void run() /线程String str = null
22、; boolean f = true ; while(f) /一直与连接的客户端通讯try str = buf、readLine() ; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序 catch (Exception e) f = false ; if(bye 、equals(str) f = false ; else ListCO lout = null ; try lout = new ListCO();
23、 catch (Exception e) e、printStackTrace(); Iterator iter = lout、getLout()、iterator();/向所有的客户端发送信息while(iter、hasNext() PrintStream o = iter、next() ; o、println(str); package org 、pzhu、net、server、util; import java、io、PrintStream; import java、net、Socket; import java、util 、ArrayList; import java、util 、Ite
24、rator; import java、util 、List; import org、pzhu、net、server、Server; public class ListCO /保存客户端的连接private List list = null ; /通过链表保存private List lout = null ; public ListCO() throws Exception this、list = Server、list ; lout = new ArrayList() ; Iterator ilist = list、iterator() ; while(ilist 、hasNext() Pr
25、intStream out = null ; Socket c = ilist、next() ; out = new PrintStream(c 、getOutputStream() ; lout、add(out) ; public List getLout() 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 23 页 - - - - - - - - - - java 课程设计 - 聊天程序return lout; public void setLout(List lout) this、lou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 java 课程设计 聊天 程序
限制150内