基于java的CS模式网络聊天室的.doc

上传人:h**** 文档编号:101433 上传时间:2018-07-06 格式:DOC 页数:126 大小:2.14MB
下载 相关 举报
基于java的CS模式网络聊天室的.doc_第1页
第1页 / 共126页
基于java的CS模式网络聊天室的.doc_第2页
第2页 / 共126页
基于java的CS模式网络聊天室的.doc_第3页
第3页 / 共126页
基于java的CS模式网络聊天室的.doc_第4页
第4页 / 共126页
基于java的CS模式网络聊天室的.doc_第5页
第5页 / 共126页
点击查看更多>>
资源描述

1、华中科技大学文华学院 毕业设计 论文 题目 : 基于 java 的 C/S 模式网络聊天室的设计 学 生 姓 名: 学号: 学 部 (系) : 专 业 年 级: 指 导 教 师: 职称 或学位: 2009 年 6月 1日 2 目 录 摘 要 . I ABSTRACT. II 1 绪 论 . 1 1.1 聊天室的发展 .1 1.2 即时通讯的应用 .2 1.3各类通讯软件的介绍和比较 .3 2 实现聊天室的 相关技术及环境 . 7 2.1 JAVA 概述 .7 2.2 TCP/IP 协议常识 .9 2.3系统开发工具与 开发环境 .11 2.3.1开发工具 .11 2.3.2开发环境 .11 3

2、 网络聊天系统的系统设计 . 12 3.1项 目概述 .12 3.2功能需求 .12 3.3系统建摸 .13 3.4 聊天室系统的设计 .14 3.4.1 聊天系统工作原理图 .14 3.4.2系统实现原理 .15 3.4.3系统的设计过程 .15 3.5数据封装设计 .18 4 聊天系统的实现及测试 . 19 4.1系统用户界面设计 .19 4.1.1客户端界面 .19 4.1.2服务器界面 .21 4.2系统设计 .22 4.2.1客户端结构 .22 4.2.2服务器端结构 .23 4.3客户端功能实现的测试 .24 参考文献 . 31 致 谢 . 32 I 摘 要 网络聊天室是一种应用广

3、泛网络聊天方式,操作简单,功能丰富,是教学和学习面向对象的编程思想的理想项目。可以使用多种编程语言设计和开发出功能完善的网络聊天室。 本毕业设计介绍 Java语言设计与实现一个网络聊天室过程,本系统采用 C/S构架设计,整个项目分为服务器端和客服端。使用了新的 Java2 标准 Swing 组件,开发出简洁美观和布 局合理的用户和服务器界面;利用 Socket 网络开发技术实现客户端和服务器端的连接访问,实现网络功能;通过数据流操作的合理设计,实现信息传递、接收和数据保存。同时,采用多线程、多任务的 设计思想,开发出性能稳定,功能全面的服务器。完整的实现系统的功能。 通过本次毕业设计可以学到如

4、何应用和实现面向对象的各种方法,如何使用 Eclipse集成开发环境来创建和开发项目,从而完成系统的完整开发。 关键字 :聊天室; Java; Socket; C/S ; UDP;多线程 II Abstract The network chat room is a kind of applied extensive network chat method ,operate in ease and the function is abundant, It can be used as a good case for learning of java design language and the

5、 Object-Oriented Programming language, there is many programming language of design to develop a network chat room with perfect function. This graduation thesis of design introduction how to use the java language design and carry out network chat room, the system adoption the C/S structure design, t

6、he whole system is divided into the server and client. Use standard modules of Swing of latest java2, develop a simple and direct beauty user interface, We make use of the Socket technology to interconnect the server and client by net-work; organize the data by good design of data stream to sent or

7、accept the message between users and to record the message for ever, we also use the multi-thread multi-action to make the program with many function. I have leaned many method and things to use the Object-Oriented programming. And make me know how use the development environment Eclipse to new prog

8、ram and the process to make the program. Key Words: ChatRoom; Java; Socket; C/S; UDP; multi-thread 1 1 绪 论 网络技术是计算机领域中发展最为迅速的技术之一,它在政治、经济、生活等各个方面发挥着十分重要的作用。随着计算机网络的普及和推广,将会有 越来越多的人利用网上资源,享受不断发展和完善的网络服务,以此来提高工作效率和水平。随着我国经济发展和网络的普及,网络技术也越来越多地被应用于日常工作之中。在程序设计领域,面向对象的编程技术正在逐步代替面向过程的程序设计技术,成为计算机应用设计开发的主流

9、,尤其在网络技术开发中,面向对象的 Java 语言编程和相关的 Java 技术正在以前所未有的速度发展。网上购物、网上银行、远程教学、网络聊天、网络游戏等都开始使用 Java 技术。而且 Java 使平台无关性的思想成为现实,独立的 Java程序可以被编译为与平台无关的字节码, 这种字节码可以运行在任何拥有 Java解释器的机器上。 真正降低了企业成品和程序员的负担。 随着信息科学的进步与互联网络的发展,虽然通过网络的聊天软件很多,但针对于内部系统的、局域网内的聊天和公司内部的上下级沟通的聊天通讯软件却很少。所以开发一个此类型的即时通讯系统就变得非常有意义了。而在技术选择上 Java 技术自然

10、成为实现此系统的首选。 1.1 聊天室的 发展 聊天室做为即时通讯的一种,即时通讯( Instant Messenger,简称 IM)软件可以说是目前我国上网用户使用率最高的软件,无论是老牌的 ICQ,还是国内用户量第一的腾讯 QQ,以及微软的 MSN Messenger 都是大众关注的焦点,它们能让你迅速地在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。而且,现在不少 IM软件还集成了数据交换、语音聊天、网络会议、电子邮件的功能。 IM软件的历史并不久远,但是它一诞生,就立即受到网民的喜爱,并风靡全球。在它的发展史上,以色列人是功不可没的。正是四位以色列籍的年轻人,在 1996 年 7

11、 月成立的 Mirabilis 公司,并于同年 11月推出了全世界第一个即时通讯软件 ICQ,取意为“我在找你” “ I Seek You”,简称 ICQ 了。直到现在, ICQ已经推出了它的 2002a版本,在全球即时通讯市场上占有非常重要的地位。 目前,国内最为流行的即时通讯软件是 OICQ(简称 QQ)。它以良好的中文界面和不断增强的功能形成了一定的 QQ网络文化。 Messenger 虽出道较晚,但依托微软的强大背景,实力也不可小视。作为 Windows XP 的一部分, Messenger 整合了操作系统的许多功能,如多种形式的聊天选择、多人的单窗口讨论式交流以及充分的 文件与桌面共

12、享2 功能等。它的令人耳目一新的中文界面和注册方式,连同它强大的功能,着实吸引了众多的眼球的注视,此外还有许多有特点的 IM 软件。 1.2 即时通讯的应用 即时通讯软件除了可以实时交谈和互传信息,不少还集成了数据交换、语音聊天、网络会议、电子邮件的功能。下面介绍的即时通讯软件的主要应用功能 : 文字聊天 聊天功能是 IM 软件最基本、也是最重要的功能,基本上每一种 IM软件在这个功能上的操作都差不多:如果用户想与联系人进行聊天,可以双击 IM中联系人的头像,在弹出的对话框中敲入文字信息发送即可。 QQ 的特 点是可以给不在线的朋友发送信息,对方下次上线的时候可以收到, MSN虽然不具备这样的

13、功能,但是它在聊天过程中可以使用各种漂亮的表情图标为聊天添加了不少情趣。 语音聊天 如果打字聊天的方式已不能满足, QQ还提供了“二人世界”里的实时语音聊天,首先您得有音箱或者耳机、麦克风,然后就可以向您的网友发送连接到“二人世界”的请求,通过后双方不仅可以用文字聊天,还可以直接讲话。此外 QQ还有传送语音功能利用此功能可以传送语音信息。首先用鼠标左键单击在线好友的头像,选择“传递语音”命令,然后就会弹出一个对话框,录音以后就 可以发送了。 传送文件 IM软件能点对点的传输文件,有时候利用此功能要比使用 E-mail 还方便许多,当然此项功能必须在对方在线时才能使用。在 QQ的好友头像上点击右

14、键,选择“传送文件”,选定要传送的文件,点击发送,等待对方接受请求。此外, ICQ 的文件传送功能还支持类似断点续传的功能,不必担心文件传送过程中发生突然中断的情况。 拨打电话 在 MSN Messenger 中提供了 PC-PHONE的拨打电话功能,你可以在 MSN Messenger软件主窗口中,单击操作窗口“我想”下面的“拨打电话”或者用鼠标右键 单击要呼叫的人的名字,单击“拨打电话”,就可以开启拨叫电话功能。但在进行电话呼叫之前必须注册语音服务提供商。由于 MSN Messenger 在国内暂时还没有开通这项业务,所以我们还无法使用。 远程协助 远程协助是在 Windows XP 中引

15、进的新概念,是 Windows Messenger 独有的功能,远程协助可以将电脑的控制权分享给对方以便于对寻求协助者提供帮助,通过它,对方可以很容易地控制寻求协助者的桌面。它的功能主要体现在应用程序共享、远程协助、3 白板共享、寻求远程协助等方面。由于这一功能非常强大,在寻求协 助的过程中系统会多次提醒并给出选择,请用户在使用这一功能时多加小心,确认对方是否可靠。 视频聊天 如果你的网速够快,又有摄像头的话,完全可以用 IM软件来代替掉 Netmeeting 了,在聊天的同时,不仅可以通话,还可以看到对方的图像,表情,备感亲切,给您带来一份全新的感受。 Windows Messenger 对

16、视频聊天功能支持的不错,设置和使用也非常简单,右击好友中“开始视频对话”就完成操作,非常方便。 邮件辅助 IM和 E-mail是我们在网上最常用的两种工具,如今不少 IM软件将两者作了完美的结合。在 QQ 中你可以直接给自己的好友发邮件,而无须再输入 E-mail 地址;此外对于自己的信箱 QQ还有检查新邮件功能,在“系统参数”中设置您自己的 E-mail,填好 POP3地址,您可以选择定时检查时间, QQ 就会自动检查有否新邮件到达。对于 MSN Messenger来说它的邮件功能就更强大了,使用 MSN Messenger 你必须有一个邮件账号,每次当您的 MSN Messenger 登录

17、成功时,在右下角自动弹出一个窗口,里面写有该 E-mail账户内的信件状况,在使用过程中如果您的邮箱中有了新邮件,马上会冒出一个提示窗。 发 送短信 目前 IM 与各种移动终端设备的结合也越来越多。使用 QQ 向手机发送短信需要手机开通移动 QQ 服务,单击对方头像图标,在打开的快捷菜单中选择“手机短讯”命令,在打开的对话框中输入信息,然后点击发送即可完成,这时对方的手机就可以收到一个消息。给 BP 机发短讯也是一样,不过对方的 BP机服务台必须是 QQ 所支持的情况下才行。当对方的手机收到你发来的短信后还可以回复,这时候您的 QQ 会弹出“查看手机短讯”的窗口来,非常方便。 浏览咨询 有的朋

18、友上网只是使用 QQ聊天,其实用 QQ也可以很方便的看到每日最新的新闻。点击 QQ面板中的“资讯通”按钮,瞧,“资讯通”已经为您订制好新闻啦:“新闻”、“ IT 科技”、“证券”、“体育”、“娱乐”共十二大类新闻信息。你愿意看哪方面的新闻,就点击相应的图标,则出现“资讯通”界面,自动提取出当日新闻标题。通过这些标题,你可以快速地选择出自己感兴趣的新闻,点击之就可以调用浏览器读取了。这样您就可以足不出户阅读有关内容,节省了您的查找时间、提高了浏览效率。 1.3 各类通讯软件的介绍和比较 各种即时通讯软件,真可谓“尺有所短,寸有所长”! ICQ功能最强大,全球用户最多,但是设置比较复杂,而且 没有

19、中文版本; MSN 有着和 Windows 系统紧密结合的优点; QQ则依托自己强大的本地优势,在国内即时通讯软件中抢占了先机。 4 “小企鹅”与“巨人新星” 1、即时消息的发送 这是作为即时通讯软件的最基本的功能。从发送消息的长短来看: QQ一次最多可发送 450 个汉字,而 MSN 最多也只有 400 个字符( 200 个汉字);同为中文界面的 QQ 与MSN,却采用了完全不同的设计思路。从界面上来看, QQ采用“对话模式”和“普通模式”两种(如图 1)。而 MSN 中只有一种方式。对于用惯了 QQ的网友来说,可能会将一句并没说完的话发 送出去,而按下“ Ctrl+回车”仅仅是起换行作用。

20、从发送字符格式的控制上, MSN无疑是占尽上风,不仅支持字体、字号大小以及字色的设置,这一点普通网友或许并不多用,但 MSN 能够将诸如“ :)”之类的图示符号自动转换为“笑脸”等表达心情和表情的图形,这点功能的确是非常棒的一种设计。 2、记录的保存和再现 这一点是 QQ的强项。几乎不用做任何动作,与所有网友的聊天记录都被完整地保存,只要你不去清理它,完全可以把两年前与 MM聊天时 MM 的承诺重现在 MM 面前,不怕 MM 不招!呵呵。而 MSN在这点上是先天的缺陷。要想保存, 就自己一边聊一边慢慢地“ Copy”吧。 3、用户的注册和好友的添加 由于腾讯的用户量急剧增加,使得 QQ的新用户

21、 ID申请变得异常困难。腾讯转而向移动通讯用户开放这一通道,尽管在功能的延伸方面取得了成功和突破,却因此也“激怒”了广大的网友!同时,添加好友异常方便,也使得我们自己的 QQ上经常无端地收到许多莫名其妙的广告或垃圾信息以及一些“不受欢迎”的网友的“入侵”!而 MSN 与众不同的注册设计,加上 Hotmail 和 MSN.com 两大免费邮箱的隆重推出,使得我们的 MSN可以非常清静! 4、其他功能比较 QQ和 MSN 都有语音聊天、文件传输、启动 NetMeeting 进行视频聊天等功能, QQ 在语音音质、传输速度等方面略逊一筹,但总体功能设计上差别不大。但 QQ 独有的卡通人物头像的绝妙创

22、意,是任何一款即时通讯软件也无法与之媲美的。 不仅如此,腾讯还形成了自己完整的企业文化,像各种各样的 QQ玩偶、手表、 T恤、背包、钥匙链等应有尽有,网上销售再加上全国数十家 Q-GEN专卖店以及与移动厂商的合作等工作都进行得红红火火,而这些都是时间沉淀积累的结果,初来乍到的 MSN应该是无法比拟的。而 MSN 也以其方便的消息群发(单击“我要 ”下的“邀请他人加入该聊天”)和强大的资本和技术上的优势,完全有能力和可能继续向 QQ 发起新一轮的攻击。 “三朝元老”与“巨人新星” 5 ICQ 与 MSN放在一起比较,的确很有意思。一个是即时通讯领域的“大哥大”,另一个是软件业的“巨无霸”,即时通

23、讯领域的后起之秀。从功能上看, MSN 目前显然无法与 ICQ 相抗衡。但 MSN借助与操作系统的无缝结合,任何人都不敢对它无礼和小视。 1、分组支持情况 两者都支持对好友进行分组,且都有两种模式,即组模式和状态模式。两个软件的组模式几乎相同,都是以组为主进行分类排序,即 首类为组,每个组的下面再按在线和离线两种情况分类。所不同的是, ICQ 的默认组只有一个,而 MSN则提供了四个默认组:家人、朋友、同事及其他联系人。 ICQ 的默认组可以重新命名但不能删除; MSN默认组中“其他联系人”既不能重命名也不能删除,其他三组则都允许。 2、消息群发功能 MSN 与 ICQ都有消息群发功能。但 M

24、SN 只能通过“邀请其他联系人加入”的方式进行,而且有最多加入四人(共五人)的限制。但 ICQ 的消息群发功能却很强大。在对话模式下,单击“ Multiple”即可展开所有好友的列表。没有人数限制,也没有在线 与否的限制(如图 2)。 3、其他功能比较 任何一款免费软件的使用过程中,都会被强制地安插进一些广告内容, ICQ也不例外。对于这一点,财大气粗的微软做得很好。无论是 Windows XP 中捆绑的 MSN,还是网上免费下载的,几乎看不到广告的影子。另外,即使在最新的 ICQ2002a 中,似乎仍然不能支持网络摄像机和视频聊天等功能,而这些功能在即时通讯领域几乎成了必备的功能。不过, I

25、CQ中强大的查找好友功能,使你只需记住好友的哪怕是一点点信息,就可以轻松找到这位好友,令任何一款即时通讯软件都望尘莫及(如图 3)。新版 2002a 中还新增了服务器保存好友信息的功能,使得在世界任何一个角落都可以及时方便地与好友进行联络。 其他产品简介 在即时通讯领域还有许多另类(非主流)的产品。如 AOL Internet MSN、 Yahoo! MSN(雅虎通)、 SinaPager(新浪寻呼)、 Sohu 我找你、网易“口对口”、诺斯 TICQ 、梦幻寻呼( DICO)、 OMMO、 V2 Communicator、 8dCall 等等。因为它们的用户群相对较小,所以容易为人们忽视。但

26、它们除了具备即时通讯的基本功能之外,都各有各的特点。这里只是挑选部分 列举一下它们各自的特色功能: 1、雅虎通( Yahoo MSN):用户可以通过它在线查询股票、新闻、体育记分板、天气、旅游等各方面的信息;还可以享受到雅虎网站的各种个性化服务,包括:查阅来信、效率手册、获得股票报价、在线购物、拍卖投标、查询分类广告、访问俱乐部、玩游戏、和朋友聊天、阅读征友广告等等。 2、网易“口对口”:可以显示各种类型网页受欢迎的程度(点击率)。这样,你可以依靠访问量的大小来找到最受欢迎的网页(如图 4);可以通过在右下角正确的设6 置自己的四类状态(“我的意图”、“我的可见度状态”、“我的 表情”和“我的

27、状态),来充分展示自己的形象;可以即时了解自己的主页点击情况。方法是:点击“工具”菜单下的“主页观察站”,弹出设置主页 URL 窗口。输入自己网站的网址,设定好之后,每当你开启网易口对口时,主页观察站就会自动弹出。窗口中显示当前浏览该网页的用户人数(可见与不可见),以及在该页上的留言数目。 3、 SinaPager(新浪寻呼):网上留言功能 如果您的朋友没有上网,您可以方便地用中、英文给他留言,他只要使用浏览器就可以看到您的留言了;类似翻译软件的浮动条的设计(如图 5),可有效节约屏幕空间;与新浪 网站、新浪电子邮件等紧密的结合功能。 4、 诺斯 TICQ:定制新闻 当主机端新闻更新时,你就可

28、以在滚动条里看到最新的新闻了;自动弹出短讯 /消息滚动 可以让消息在滚动条中滚动显示;查看笑话 不时在屏幕上弹出一则笑话,令人捧腹大笑;定时闹钟 可以指定时间让系统自动把设定的信息内容发送给你的网友,或者提醒自己该干的事情;断点续传 传送文件的功能几乎所有的即时通讯软件都具备。具备“断点续传”功能的即时通讯软件还真不多见, TICQ 就是这样一款软件。 5、梦幻寻呼( DICO):邮件群发功能;丰富的插件使 得我们可以聊天娱乐两不误(如图 6);方便清晰的语音聊天功能 能够穿透防火墙,达到电话的音质效果;个人 Web 服务 可以把你的个人电脑轻松设置成一个 Internet Web 服务器,让网友到你的硬盘上浏览你的个人主页。 6、酷 8d 网络伙伴( 8dCall):“听声辨人”可以以不同音效通知好友上线或来信;股票成交消息实时回报 只要你是 8dCall 的会员,只要你的下单券商提供 8dCall 股票成交回报功能,不论你采用哪种方式进行股票交易 (电话、柜台、网络等 ),都可以实时得到股票成交回报的消息;线上免费传呼 使用 8dCall 可以免费传送中文、英文或数字到好友或合作伙伴的传呼机上。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。