聊天程序JAVA课程设计报告书

上传人:枫** 文档编号:508439433 上传时间:2023-05-21 格式:DOC 页数:29 大小:200.50KB
返回 下载 相关 举报
聊天程序JAVA课程设计报告书_第1页
第1页 / 共29页
聊天程序JAVA课程设计报告书_第2页
第2页 / 共29页
聊天程序JAVA课程设计报告书_第3页
第3页 / 共29页
聊天程序JAVA课程设计报告书_第4页
第4页 / 共29页
聊天程序JAVA课程设计报告书_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《聊天程序JAVA课程设计报告书》由会员分享,可在线阅读,更多相关《聊天程序JAVA课程设计报告书(29页珍藏版)》请在金锄头文库上搜索。

1、. . . . *实践教学* 理工大学计算机与通信学院2013年秋季学期JAVA课程设计 题 目:聊天程序 专业班级:计算机科学与技术 姓 名: 学 号: 指导教师 :成 绩:_ 摘要聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式通过Java提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能用多线程可完成多点对多点的聊天,数据库管理系统用SQL Server2005完成并通过JDBC数据库。本设计建立在JAVA平台上,本设计使用了面向对象技术和面向对象的设计原

2、则。系统采用C/S结构,客户端与客户端以与客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。关键字:C/S;数据库;Eclipse;Socket;多线程 / 序 言在网络越来越发达的今天,人们对网络的依赖越来越强,网络聊天已经成了许多人生活中必不可少的一部分,基于这样的需求,出现了许多网络聊天通信工具,像 ,M

3、SN等等,但是人们已经不再满足于单一的两个人之间的聊天,而是对多人同时聊天产生了兴趣,于是出现了网络聊天室,不同地方的人可以在那个虚拟的聊天室里面热烈聊天。基于这样的想法,我们用JAVA设计一个多人同时聊天的小程序,用Socket编程实现网络通讯,面向连接的,采用多线程的实现技术。 基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业部局域网的各种通信需求。 基于Socket的局域网聊天工具是此类局域网通信软件

4、的具体实例之一,它很好地诠释了Socket通信的原理,并且在企业部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。 基于Socket的局域网通信软件应用围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。目 录摘要2序 言II第1章 系统分析与设计11.1 系统功能需求11.1.1 服务器端11.1.2 客户端11.2 模块设计11.3 数据库设计3第2章 详细设计42.1 数据库模块操作42.2 登录与聊天室选择模块42.3 注册模块(Re

5、gisterFrame.java)62.4 管理用户模块(MangeFrame.java)72.5 聊天模块92.5.1聊天室界面(ChatFrame.java)92.5.2 聊天室对话框(ChatDialog.java)112.5.3 监听线程 (Listen.java)122.5.4 服务器线程(ChatServer.java)13第3章 系统测试183.1 测试方案183.2 测试结果183.2.1 登录与聊天室选择效果演示183.2.2 注册效果演示193.2.3 管理用户效果演示203.2.4 聊天室效果演示20第4章 软件使用说明书224.1 性能描述224.2 使用约束224.3

6、其基本实现过程22设计总结23参考文献24致25第1章系统分析与设计随着互联网的发展,网上聊天已经成为当今的一种时尚, ,MSN等聊天工具为人们提供一个更为广大的交流平台。本设计的聊天系统实现了网络聊天室的登录,注册,聊天室的选择等功能,并支持单人和多人聊天方式,同时也加入了管理员的角色,管理员对聊天室的用户进行管理,包括删除用户和赶出聊天室。1.1 系统功能需求本系统主要通过客户端,服务器端来体现聊天系统的基本功能。1.1.1 服务器端1.处理用户注册2.处理用户登录3.处理用户发送信息,服务器监控聊天容4.处理用户得到信息5.处理用户退出1.1.2 客户端1.用户注册界面与结果2.用户登录

7、界面与结果3.用户发送信息界面与结果4.用户得到信息界面与结果5.用户退出界面与结果1.2 模块设计通过上述需求分析,本系统分为登录与选择聊天室模块,注册模块,聊天模块,管理用户模块,数据库操作模块五大模块,具体描述如表1-1表1-1 聊天系统模块表 模块名类名功能描述数据库操作模块DBHandler封装了一下JDBC的API,向本聊天系统提供数据库操作方面的接口。登录与选择模块LoginFrame登陆界面,其中提供权限检测的功能SelRoomFrame聊天室选择界面,提供了聊天室选择功能注册模块SelRoomFrame注册界面,提供普通用户注册功能管理用户模块ManageFrame管理用户界

8、面,提供管理员删除用户的功能聊天模块ChatFrame聊天界面,提供用户聊天功能,支持单人聊天,多人聊天,以与管理员赶人的功能ChatServer聊天服务器,用来转发,过滤用户的聊天信息,以与向用户发送信息ChatDialog供用户输入聊天信息的对话框Listen用户监听聊天服务器的线程在整个聊天系统中里,数据库操作模块提供了相应的数据库接口,比如添加注册用户,删除用户,获取用户的权限等。登录与聊天室选择模块分成登录和聊天室选择两部分。登录界面是管理员和普通用户的入口,普通用户可以从登陆界面进入注册界面或者聊天室选择界面,管理员可以聊天室界面或者管理员用户界面。聊天室选择界面提供了“谈天说地”

9、,“缘分天空”,“休闲娱乐”三个聊天室选择,用户可以任意选择一个进入。注册模块提供了普通用户的注册功能。新用户注册需要输入用户名和密码,当系统中有重名时会弹出警告,要求用户重新输入。管理用户模块提供了删除用户的功能。管理员可以将普通用户从系统中删除,被删除用户不能登录聊天系统。聊天模块包含服务器端和客户端两部分。客户端聊天界面包含聊天在线用户列表以与聊天信息发布区域。聊天对话框是用户输入聊天信息的地方。客户端通过启动监听进程。1.3 数据库设计本聊天系统使用SQL Server 2005作为后台支持的数据库,根据需求分析的结果,使用数据库中系统数据库“model”,在此数据库里存放所有关于实现

10、聊天逻辑的数据表。在“model”数据库中创建名为“userInfo”的表,用来记录用户的注册数据,包括用户名,密码以与用户权限。其中字段如表2表1-2 userInfo表结构字段中文描述数据类型是否为空备注userID描述登录信息的IDint否自增长,主键name登录用户名Varchar(50)否password登录密码Varchar(50)否role用户权限int是0 表示管理员1 表示普通用户第2章 详细设计2.1 数据库模块操作本设计使用的是JDBC连接SQL Server 2005 数据库,其核心代码如下。privatestatic Connection getConn() / 数据

11、库的URLString url = jdbc:sqlserver:/localhost:1433; DatabaseName=model;try Class.forName(.microsoft.sqlserver.jdbc.SQLServerDriver);String name = sa;String password = jiajunp;return (DriverManager.getConnection(url, name, password); catch (SQLException e) e.printStackTrace(); catch (ClassNotFoundExcep

12、tion e) e.printStackTrace();returnnull;上面的代码是通过Class.forName(.microsoft.sqlserver.jdbc.SQLServerDriver)命令载入驱动JDBC的驱动程序,然后通过DriverManager.getConnection函数获取数据库的连接。其中连接数据库的URL为url = jdbc:sqlserver:/localhost:1433; DatabaseName=model,用户名与密码自己数据库配置是用户名和密码所致的一致。2.2 登录与聊天室选择模块登录界面是所有用户的入口,包括用户进入聊天室选择界面,用户注

13、册界面的入口,以与为管理员提供的管理用户界面的入口。聊天室选择界面提供了“谈天说地”,“缘分天空”以与“休闲娱乐”三个可供选择的聊天室,用户每次登录只能选择其中一个聊天室,并且在同一个聊天室中用户只能保持一个连接。(1) 登录界面的实现(LoginFrame.java)。登录界面中可以进行三种操作:登录,注册以与管理。在登录操作时,程序会调用DBHandler.java类的isAuthorized的方法,验证用户是否具有权限。如果是,则创建SelRoomFrame对象,进入聊天室选择界面。在注册操作时,程序会创建RegisterFrame对象,进入注册界面。当管理动作发生后,程序会调用DBHa

14、ndler.java类的isAdmin方法,判断用户是否为管理员。如果是,则创建MangeFrame对象,进入管理用户界面。public LoginFrame() try /设置显示外观为本地系统外观。注意此句需放在初始化所有控件之前。UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch (Exception e) e.printStackTrace();initComponents();(2) 聊天室选择界面(SelRoomFrame.java)。在本系统中有三个聊天室可供选择,“谈天说地”,“缘分天空”和“休闲娱乐”。用户可以选择任意一个聊天室进入。在聊天室选择界面中,用户可以进行聊天室选择动作,也可以退出回到

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 劳务/用工合同

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号