基于JAVA局域网聊天程序设计与实现.doc

上传人:h**** 文档编号:128952 上传时间:2018-07-09 格式:DOC 页数:155 大小:1,003.50KB
下载 相关 举报
基于JAVA局域网聊天程序设计与实现.doc_第1页
第1页 / 共155页
基于JAVA局域网聊天程序设计与实现.doc_第2页
第2页 / 共155页
基于JAVA局域网聊天程序设计与实现.doc_第3页
第3页 / 共155页
基于JAVA局域网聊天程序设计与实现.doc_第4页
第4页 / 共155页
基于JAVA局域网聊天程序设计与实现.doc_第5页
第5页 / 共155页
点击查看更多>>
资源描述

1、 i 毕 业 设 计(论 文) 基于 JAVA 的 局域网聊天程序设计与实现 学生姓名: 王若曦学 号: 0515031110 所在系部: 信息工程系 专业班级: 05gb 计算 1 班 指导教师: 谢芳 讲师 日 期: 二 九 年 六 月 工程技术学院 毕业设计(论文)专用纸 i 摘 要 随着互联网的发展,网络聊天工具作为一种交流工具,已经受到网民的青睐。目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯 QQ、 MSN-Messager 等等。 即时通讯软件,是每一个上网用户都需要的工具,它除了能够让您 迅速地在网上找到自己的朋友和伙伴之外,还可以实时交谈和传递信息,截止到目前,

2、全球约有近 3 亿多人使用即时软件,正因为即时通讯软件拥有数以亿计的用户和增长的市场,所以各个公司都盯上了这个最大的市场,一时间,即时通讯市场硝烟四起。 对等网络 (peer-to-peer,简称 P2P),应用最初出现时和现在并不相同。事实上可以认为它是若干不同技术以及流行趋势相结合的产物。以下是导致 P2P 技术发展最重要的趋势 :首先,一些新技术与软件工程的结合,形成了一种将工作分散的趋势。 P2P 计算正是这种分散工作趋势的结果。其次,在企业 应用集成等因素的驱动下,过去十年渐渐形成从集中的单机系统转向分布式系统。然而随着互联网的发展,全面的分布式计算也就成为一种迫切需求。 关键词:

3、局域网 聊天 P2P java 工程技术学院 毕业设计(论文)专用纸 ii Abstract With the development of the Internet, the chat tool as a communication tool, has been popularly accepted by netizens of all ages. At present, there are many powerful chat tools, of which Tencent QQ, MSN-Messager are much more prevalent. Instant messagin

4、g software is necessary for every one who connects to the internet, which can not only provide you a prompt way to find friends and partners online, but can provide you the convenience of internet relay chat and information delivering. Up to now, there are about 300 million people using real-time so

5、ftware all over the world. As more and more corporations have focused on this market with growing potential, which has hundreds of millions of uses, the competitions among these corporations are extremely fierce. The initial application of peer-to-peer network (peer-to-peer, referred to as P2P) is n

6、ot the same as it is now. In fact, it can be regarded as a combination of different technologies and fashion trends. Below are the most important trends that have led the development of P2P technology: First of all, the integration of software engineering and new technologies led to a working disper

7、sion trend. As a result, P2P computing was born. Then, in the past decade, it has turned fro m a single centralized system to distributed system due to the motivation of factors such as enterprise application integration. At last, with the development of the Internet, however, a comprehensive distri

8、buted computing has become an urgent need. Keywords: LAN chat P2P java 工程技术学院 毕业设计(论文)专用纸 目 录 摘 要 . i Abstract . ii 1 绪论 . 1 1.1 JAVA 的网络功能与编程 1 1.1.1 JAVA 概述 . 1 1.1.2 JAVA 的特点 . 3 1.1.3 JAVA 语言在网络上的应用 . 6 1.2 JAVABEANS 技术 6 1.3 IP/TCP 协议常识 6 1.4 SOCKET 的简介 7 1.5 对等网络 8 1.5.1 对等网络发展历史 . 8 1.5.2 对等网

9、络的概念 . 9 1.5.3 对等网络的主要系统结构 . 9 2 JAVAqq 局域网聊天程序的需求分析 . 13 2.1 课题来源 13 2.2 需求分析 13 3 JAVAqq 局域网聊天程序的系统分析与设计 . 15 3.1 JAVAQQ局域网聊天程序的总体设计要点 15 3.2 JAVAQQ局域网聊天程序的设计步骤及功能模块划分 15 3.3 JAVAQQ局域网聊天程序各功能模块 16 4 JAVAqq 局域网聊天程序的设计与实现 . 24 4.1 开发环境工具 24 4.2 硬件环境 24 工程技术学院 毕业设计(论文)专用纸 ii 4.3 聊天系统功能模块的测试 24 结 论 .

10、28 致 谢 . 30 参考文献 . 31 附录 A 程序源代码 . 32 工程技术学院 毕业设计(论文)专用纸 1 1 绪论 随着互联网逐步普及,互联网技术的逐步提高。人们的工作和生活也越来越离不开网络,而即时聊天 是人们最常见 、最直接的 online 交流的方式。 本系统以聊天功能为主,通过网络为用户提供一个人际交流的平台 。本文所介绍的网络聊天系统是基于JAVA 编程语言开发设计的,其主要特性是能动态、实时的完成消息 的传递,且具有高效的交互性, 能更有效的处理客户请求 ,其运行 时所需环境及工作流程和各模块的工作原理将在本文依次介绍,并且文中提供了全部 程序源代码。 1.1 JAVA

11、 的网络功能与编程 1.1.1 JAVA 概述 Java 是一个由 Sun 公司开发 的新一代 高级编程语言。它可在各式各样不同机器、不同操作平台的网络环境中开发软件。不论你使用的是哪 种 WEB 浏览器,哪种计算机,哪种操作系统,只要 WEB 浏览器上面注明了“支持 Java” ,并且装有 JAVA 控件, 你就可以看到生动的 主页。 Java 正在逐步成为 Internet 应用中最 主要 的开发语言,它彻底改变了软件 开发模式,带来了自 PC 机以来又一次革命,为飞速发展的网络世界增添了新的动力 。 Sun 的 Java 语言开发小组成立于 1991 年 , Sun 内部人员把这个项目称

12、为 Green。该小组的领导人是 James Gosling,是一位非常杰出的程序员 。 在研 发过程中, Gosling 深刻体会到消费类电子产品和工作站产品 的差异:消费类电子产品要求可靠性高、费用低、标准化、使用简单。 Gosling 在开始写 Java 时,并不局限于扩充语言机制 本身,更注重于 语言所运行的工程技术学院 毕业设计(论文)专用纸 2 软硬件环境。他要建立一个系统, 运行于一个巨大的、分布的、异构 的网格环境中,完成各 设备之间的通信与协同工作。 Gosling 在设计中采用了虚机器码 方式,即 Java 语言编译后产生 虚拟机,虚拟机运行在一个解释器上,每一个操作系统均

13、有一个解释器。这样一来, Java 就成了跨平台 语言。 Patrick Naughton 也是 Sun 公司的技术骨干,曾经是 OpenWindows 项目的负责人。当 Naughton 加入该小组后, 工作进展神速。经过 17个月的奋战,整个系统胜利完成。它是由一个操作系统、一种语言、一个用户界面 、一个新的硬件平台、三块专用芯片构成的。通常情况下,这样的项目在 Sun 公司要 75 个人干三年。项目完成后,在 Sun 公司内 部做了一次展示和鉴定,观众的反应是:在各个方面都采用了崭新的、 大胆的技术。 到了 1994 年, internet 已如火如荼地发展起来。 Gosling 意识到

14、 internet 需要一个 浏览器,它 不依赖于任何平台 ,它应是一种实时性较高、可靠安全、又 有交互功能的浏览器。于是 Gosling 决定用 Java 开发一个新的 Web 浏览器。 Java 虽出现的时间不长,但已 完全 被业界接受, IBM、 Apple、 Silicon Graphics、HP、 Oracle、 Toshiba、 Netscape 和 Microsoft 等大公司已经购买了 Java 的许可证。Microsoft 还在其 Web 浏览器 Explorer3.0 版中增加了对 Java 的支持。 众多的软件开发商也开发了许多支持 Java 的软件产品。如: Borla

15、nd 公司的基于Java 的快速应用程序开发环境 Latte; Metrowerks 公司和 Natural Intelligence 公司分别开发的基于 Machintosh的 Java开发工具; Sun公司的 Java开发环境 JavaWorkshop;Microsoft也开发出系列 Java产品。数据库厂商如 Sybase,Oracle等 都在开发支持 HTML和 Java 的 CGI。 Intranet 正在成为企业信息系统最佳的解决方案。它的优点表现在:便宜、易于使用和管理。用户不管使用何种类型的机器和操作系统,界面是统一的 Web 浏览器,而工程技术学院 毕业设计(论文)专用纸 3

16、 数据库、 Web 页面、应用程序 则存在 WEB 服务器上。 未来的计算方式,每个 HomePage 的实质是一个多媒体应用程序,这些程序用 Java来开发。 Java 应用程序运行在不同的机器、不同 的操作系统之上,甚至于电冰箱、烤面包箱、 防盗电子设备之中,用 Internet 把所有的电子设备连接起来,通过 TCP/IP 进行信息的交流 。 Java 的出现是计算机信息交换的一个重要里程碑。在单机时 代,程序进程之间靠共享存储进行变量交换;在网络时代,运行在不同 主机上的程序按网络协议进 行二进制字符流交换,语义由交换 双方维护;在 Java 时代,运行在网络上的程序进程交换的是小应用

17、程序 。 随着 Internet 的崛起、 Java 的诞生,巨型而臃肿的应用软件开始向小型化发展,由众多生活 在 Internet 上的小应用程序 相互协作完成信息的处理与传递。 Java 会加速应用软 件的小型化、网络化的趋势。随着 互联网的发展,软件必然是面向大众的 ,薄利多销将 是网络应用软件的重要特点。 信息的价值在于使用和共享, Internet 和 Web 是信息的使用和共享最快捷、最便宜的方式, Word 将演化成为 Web 写作工具, Excel 则将演化成 Web 电子表格。 1.1.2 JAVA的特点 (一) JAVA 的主要特点 Java 语言有下面一些特点 :简单、面

18、向对象、分布式、解释执行 、 安全、体系结构中立、可移植、高性能、多线程以及动态性。 1.简单 Java 语言是一种面向对象的语言 ,它通过提供最基本的方法来完成 指定的任务 。Java 略去了运算符重载、多重继承等模糊的概念 ,且通过实现自动垃圾收集大大简化了工程技术学院 毕业设计(论文)专用纸 4 程序设计者的内存管理工作。 2.面向对象 Java 语言的设计集中于对象及其接口,它提供了简单的 类机制以及动态的接口模型 ,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。 3.分布性 Java 是面向网络的语言。通过它提供

19、的类库可以处理 TCP/IP 协议,用户可以通过URL 地址在网络上很方便地访问其它对象。 4.安全性 用于网络、分布环境下的 Java 必须 要防止病毒的入侵。 Java 不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用 “特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。 5.体系结构中立 Java 解释器生成与体系结构无关的 指令 , Java 程序可在任意的处理器上运行。这些指令对应于 Java 虚拟机中的表示, Java 解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。 6.可移植性 与平台无关的特性使 Ja

20、va 程序可以方便地被移植到网络 的不同机器 上 。另外, Java编译器是由 Java 语言 实现的, Java 运行时系统由标准 C 实现,这使得 Java 系统本身也具有可移植性。 7.解释执行 Java 解释器直接对 Java 字节码进行解释执行。字节码本身携带了许多编译时信息,工程技术学院 毕业设计(论文)专用纸 5 使得连接过程更加简单。 8.高性能 和其它解释执行的语言如 BASIC 不同, Java 字节码的设计使之能很容易地直接转换成对应于特定 CPU 的机器码,从而得到较高的性能。 9.多线程 多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使

21、用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件 循环机制,这样就很容易地实现网络上的实时交互行为。 10.动态性 Java 的设计使它适合于一个不断发展的环境。在类库中可以自由地加入 新的方法和实例变量而不会影响用户程序的执行。并且 Java 通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。 (二 )丰富的类库 Java 提供了大量的类以满足网络化、多线程、面向对象系统的需要。 1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等 ,可以用它简单地实现 Java 程序的运行平台。 2.实用程序包提供的支持包括哈希表、堆栈、可变数组、 时间和日期等。 3.输入输出包用统一的流模型来实现所有格式的 I/O,包括文件系统、 网络、输入 4.低级网络包用于实现 Socket 编程。 5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件 , 包括窗口、菜单、滚动条、对话框等 ,使得 Java 可以移植到不同平台的机器。 6.网络包支持 Internet 的 TCP/IP 协议 ,提供了与 Internet 的接口。它支持 URL 连

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

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

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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