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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

网络聊天工具系统的设计与实现.docx

1、网络聊天工具系统的设计与实现 综合课程设计报告网络聊天工具系统的设计与实现学生姓名: 指导教师: 所 在 系: 电 子 信 息 系 所学专业: 计算机科学与技术 年 级: 08级(2)班 2010年12月摘 要本应用软件运用java语言编写,针对用户对网络实时聊天工具的需求设计,可实现基本的在线聊天功能。其主要功能如下:1)用户注册、登录及用户密码修改;2)在线用户群聊;3)在线用户与某一用户私聊。本系统基于TCP传输协议设计,运用Swing组件构建界面,利用JAVA面向对象的思想开发。开发过程中利用了计算机网络编程的基本理论知识。通过Socket实现客户端与服务器的连接,利用对象输入、输出流

2、对信息进行读取与转发,采用多线程的方式实现多客户端聊天。关键字:Swing 多线程 TCP Socket第1章 前 言1.1 系统前景随着社会的发展,计算机网络日新月异,人们的交流方式越来越多,传统的交流方式,如:信件、电报、电话等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系已经成为当今社会人们主流的联系方式。两台计算机之间进行即时通讯等交流方式已经成为必然的潮流,因此出现了QQ等聊天工具。然而等聊天工具虽然方便、实用,但是,娱乐功能太多,占据内存空间过大,从一定程度上来说,演变成了一种娱乐工具,不能作为即时通讯的专用工具。而我们的设计的网络聊天工具是专用于实现计算机之间即时通讯

3、的,消耗内存小,界面友好、简洁。本系统使用当前流行的JAVA语言编写,采用面向对象的思想设计,基于TCP传输控制协议。切实考虑大众用户的需求,为方便用户之间的沟通,可为大家提供了一个很好的交流渠道和聊天环境。1.2 开发环境简介Java语言自1995年诞生以来在短短的几年时间内以迅猛的速度席卷全球,已形成一种专门的技术。它是一种简单的、面向对象的、分布式的、强壮的、安全的、体系结构中立的、可移植的,高性能的、多线程的和动态的语言。1.3 系统主要功能本系统可以实现用户注册,登陆及密码的修改本系统可以实现多用户在线群聊本系统可以实现在线用户私聊第2章 需求分析2.1 功能需求 (1)用户可以注册

4、新用户 (2)用户可以用注册成功的用户名和密码登陆系统(3)用户注册的帐号密码可以自动保存 (4)用户可以修改自己的密码 (5)多个用户之间可以进行群聊(6)用户可以查看到所有在线好友 (7)用户可以点击好友昵称进行一对一私聊(8)用户可以清空聊天窗口中的消息 2.2应用平台需求 操作系统:windows xp 2.3 其他需求 系统功能简洁,界面美观、友好,操作方便。运行速度快,消耗内存空间较小,跨平台性较强。第3章 概要设计3.1 系统总体结构3.2 网络聊天系统模块设计3.2.1 用户上下线信息显示模块 服务器开启6666端口用于监听,有用户请求连接时,通过套接字获取客户端ip地址,从而

5、显示在线用户信息;当用户下线时,连接异常抛出,处理异常,显示下线信息。3.2.2 转发信息模块 服务器定义map数组用于存储要求请求连接用户的端口号以及该端口客户发送的信息,该数组服务器、客户端共享,客户端读取该信息,从而实现信息转发。3.2.3 用户注册模块通过jdbc将Java与数据库连接,用户输入用户名、密码,若通过合法性检测,则将该用户注册的信息写入后台数据库。3.2.4 修改密码模块 用户输入用户名、旧密码、新密码,若通过合法性检测,则把修改后的信息重新写入后台数据库。3.2.5 用户登录模块 用户输入用户名、密码以及服务器ip地址,如果通过合法性检测则进入聊天主界面。3.2.6 群

6、聊模块 客户端点击“发送信息”按钮,该客户端的ip地址、端口号以及信息内容一起打包写入服务器map数组,客户端通过线程可以读取该数组中的内容,从而实现群聊。3.2.7 私聊模块 客户端用户点击“开始私聊”按钮,输入对方的昵称以及ip地址,从而该用户开启端口用于监听,同时定义输入、输出流文件,客户端延迟片刻,然后与该端口取得连接。当任意一方点击“发送信息”按钮时,和群聊同一机理,通过读取共享文件内容实现私聊。第4章 详细设计4.1 服务器说明:(1)服务器界面仅显示用户上线与下线的信息。(2)程序运行过程中,服务器首先创建套接字Socket和ServerSocket,开设本地端口。ServerS

7、ocket用于监听用户连接请求,当请求到达后,服务器接受连接请求,返回一个新的对应于此次连接的套接字,该套接字用于和客户端进行通信,而原来的套接字则返回等待另一客户请求。(3)服务器不可用于聊天,只用于将客户端群聊时发送的信息转发给每一个在线用户。4.2 客户端4.2.1客户端整体设计说明:(1)运行时,应先建立数据源,再建立用户名数据库,用来存放用户信息。 (2)客户端界面启动后,点击相应按钮,实现相应功能。4.2.2登录模块设计说明:进入客户端主界面后,填写用户名、密码、IP,进行合法性验证,若通过验证,即可进入群聊界面进行群聊。同时,右侧在线好友列表显示当前在线好友昵称,服务器界面显示当

8、前IP地址的用户在线。4.2.3修改模块设计说明:用户进入客户端主界面后,点击修改即可修改密码。正确输入各项信息,即可成功修改密码。点击取消,回到客户端主界面。4.2.4注册模块设计说明:用户进入客户端主界面后,选择注册按钮,若用户名、密码长度不超过10位,并且全为数字和字母组成则连接数据库,检查该用户是否已经存在,若不存在,则注册成功信息录入数据库。点击返回按钮,返回客户端主界面。4.2.5消息格式化模块说明:消息在整个传递过程中都遵循特定的格式,对象输入输出流中的信息的传输格式由消息格式化类决定,同时消息格式化类将消息整合,固定成特定的格式显示到用户的聊天窗口中。4.2.6 群聊模块说明:

9、群聊时,客户端点击主界面发送消息按钮,信息写入对象输出流,经过套接字传输至服务器,服务器将消息格式化后转发给各个在线用户。4.2.7 私聊模块(1)私聊模块中的客户端模块 图4.8 私聊客户端流程图说明:私聊时,发起方作为客户端,好友作为服务器,发起方等待服务器先启动,服务器启动后,发起方开始连接,连接成功后开始传送消息。(2)私聊模块中服务器端模块说明:私聊时,接受方作为服务器,开启本地端口用于监听连接,当有连接时,进行私聊,读取消息并发送。第5章 系统测试、安装与使用说明在该系统中,群聊、私聊的功能基本实现,并且运行正常。用户可选择安装客户端软件或者服务器软件,安装客户端软件的用户需预先建

10、立数据源MyQQ,连接到安装包下的数据库QQUser。正确操作后即可使用。5.1 程序主界面运行程序后,弹出QQ登陆界面,等待用户操作。如图 5.1所示图5.1 QQ登陆界面5.2 服务器连接客户端,传输客户端之间的对话信息和显示用户上下线情况。如图 5.2所示图5.2 服务器上下线情况统计界面5.3 用户注册在QQ登陆界面,点击“注册”,弹出注册页面,按要求输入帐户和密码。如图 5.3所示图 5.3 注册账户和密码界面例如,在QQ账户栏输入“123”,QQ密码栏输入“123”,再点击“完成”,显示“注册成功!”,再点击“确定”,则可以返回QQ登陆界面进行登录操作。如图 5.4所示图 5.4注

11、册成功后界面5.4 用户修改在QQ登陆界面,点击“修改”,则会跳转到用户修改界面。如图 5.5所示图5.5 修改用户密码界面例如,在用户名栏输入123.旧密码栏输入123,新密码和确认新密码栏都输入456,再点击“确定”,弹出相应的信息框提示。点击“确定”,则可以进行QQ登陆操作。如图 5.6所示图5.6 修改成功后界面5.5 群聊对话在QQ登陆界面输入正确的帐户,密码和服务器IP地址。例如在QQ账户栏分别输入123、,aaa,QQ密码栏输入456、bbb;服务器IP地址栏均输入“127.0.0.1”,再点击“登陆”,则会弹出相应的信息框提示。如图 5.7所示图5.7 验证成功界面分别点击“确

12、定”,则弹出两个对话框,即进入群聊状态,等待用户输入对话文字。如图 5.8所示图5.8 群聊对话框在任意一方文本框内输入文字,例如,在文本框内输入“你好呀!我是新来的”,再点击“发送信息”,则两个客户的粉红色信息显示框中均会显示信息内容。如图5.9所示图5.9 发送消息5.6私聊对话点击右上方私聊对象,弹出提示框,如图 5.10所示图 5.10输入好友昵称和好友IP地址例如,在好友IP地址栏输入“127.0.0.1”,再点击“确定”,则会弹出私聊对话框。如图 5.11所示图 5.11私聊对话界面任意一方发出信息,对方皆可以正常接收,从而实现私聊,如图5.12所示图5.12 私聊的实现界面第六章

13、 小结程序设计过程中遇到的问题以及解决方案:(1)最初的程序当中,我们没有考虑到用户使用的方便性,IP地址的更改都是在代码当中实现的,在老师的提示下,我们认识到了这种方式是不可行的。后来,在登录界面中增加了IP地址输入框,使用户使用更方便,系统更加合理。(2)在发起私聊时,最初的程序要求用户在群聊消息输入框中输入好友的昵称,再点击私聊按钮,才可以发起私聊,在老师的提示下,我们认识到了这种操作方式的不方便性。于是将好友列表显示框由JtextArea改成了Jlist,点击好友昵称即可弹出IP地址输入框,方便、快捷,也增加了程序的安全性、合法性。有待解决的问题:(1)用户下线时,服务器不能显示该下线

14、用户的ip地址,只能监测有用户下线;(2)注册的用户可以重复登陆;(3)由于开设端口的问题,仅能供一对用户私聊。课程设计的心得体会: 首先我们由衷感谢老师提供给我们这样一个锻炼自己的机会,让我们感受到学来的知识不只是用来完成试卷的。 其次我们在完成课程设计的过程中体会到团队合作的乐趣。我们学会了积极的同团队成员交流,取长补短,共同进步。 最后,在这次实训中,虽然我们已经对程序进行了不断的修改,但是很多地方还存在着严重的不足,由于时间的限制我们只完成到了这个层次,今后的学习中,我们将进一步对其进行修改。参考文献:1朱福喜. 面向对象与Java程序设计. 北京:清华大学出版社,20102朱福喜,唐晓军编著. Java编程技巧与开发实例. 北京:人民邮电出版社,2004 3朗波. JAVA语言程序设计. 北京:清华大学出版社,20054赵池龙,姜义平,张建. 软件工程实践教程. 北京:电子工业出版社,20065赵文清,姜波. 基于Socket的Java语言网络通讯机制和程序设计信息技术. 北京:清华大学出版社,2006安徽师范大学皖江学院课程设计成绩评定单题目:学生姓名指导教师李杰指导教师评语:指导教师评定设计成绩等级指导教师(签章): 200 年 月 日

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

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