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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于Java的网络通信系统设计与实现——毕业论文.doc)为本站会员(滴答)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于Java的网络通信系统设计与实现——毕业论文.doc

1、本科毕业设计(论文)1本科生毕业设计(论文)基于 Java的网络通信系统设计与实现学 院、系: 计算机与通信学院 专 业: 通信工程 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 最终评定成绩 2009年 6 月本科生毕业设计(论文)I摘 要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的 ICQ、国内腾讯公司开发的 OICQ。随着网络聊天一类的聊天系统的发展日新月异,因此产生了制作一个类似 QQ 的网络聊天工具。Java 是一种程序设计语言,它具有简单的、完全面向对象以及与平台无关的结构,也具有可移植性、高性能和安全性,

2、并提供了多线程的功能,而 Java 语言最大的成功之处在于它的平台无关性和具有强大的网络编程功能,基于 Java 网络编程的强大功能,本人将用 Java 编写一个网络聊天系统。论文首先论述了系统的开发背景,并对所用到的开发工具与关键技术做了简单的介绍。接着对系统的研究意义,研究现状及设计目标进行分析,通过对系统需求和可行性进行分析,确定了系统的功能模块,并画出相应的功能结构图、模块图和数据流图。其次按系统总体设计的结果,对系统中的数据库进行结构设计。一般来说,聊天工具大多数由客户端程序和服务器程序,外加服务器端用于存放客户数据的数据库组成,本系统采用客户机/服务器架构模式,通过 Java 提供

3、的Socket 类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的,而 Java 提供的多线程功能,用多线程可完成多点对多点的聊天。数据库管理系统用 SQL Server2000,完成并通过 JDBC-ODBC 桥访问数据库。聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息,传输文件等功能。界面设计细分化,方便使用者操作和理解。服务器实现了查询和修改等功能,程序逻辑联系较紧密。关键词:JAVA,C/S,SQL Server 2000, 多线程, 数据库管理系统本科毕业设计(论文)IIABSTRACTMore and mo

4、re developed in the network today, people rely on more and more networks, and can not leave with out it. This caused the chat materials become more numerous, as the overseas ICQ system, the OICQ system that invented by Tencent Co., and so on. So we create a network chat medium just like the QQ.Java

5、is a programming language with the simple construction which is completely object-oriented 。Java also possess the portability, high performance and security, and provide the multi thread function. The best success is its and its strong network programming function, base on this, I will use Java to w

6、rite a network chat system.Firstly, the paper discussed the development background of the system, and made a briefly introduction to the development tool and key technologies. Then analyzed the systems research significance , research present situation and project objective .According to the require

7、ment analysis and feasibility analysis ,it can confirm the systems functional module and draw corresponding functional configuration chart ,module chart and data stream chart. On the basis of the result of system designing, the paper design database by structured design method. Generally speaking, m

8、ost chat medium consist the client program, server program and the server which is use to content the database. This system adopt client/server pattern and the Socket class provide by Java to communicate the client and server. Because of chat is many to many, the multithreading function can implemen

9、t the many-many chat, database management system use SQL Server2000 and JDBC-ODBC bridge to visit the database.When chat system is achieved, it can possess functions like chat in a many-many way, add and delete the intimate, the new users registration, and sending and receiving message, transferring

10、 files and so on. The refinement of interface designing would facilitate user operation and understanding. The contact surface has the thin differentiation designs; modules have realized the functions such as inquiry, revision and so on. The logic relationship in this program is closed.Keyword: Java

11、, Multithreading, Client/Server, SQL Server2000,Database Management System本科毕业设计(论文)III目 录第 1章 绪论 .11.1 课题选择的背景 .11.2 课题选择意义 .11.3 系统开发技术简介 .21.3.1 Java 简介 .21.3.2 JDBC 技术简介 .21.3.3 数据库 Microsoft SQL-Server 2000 简介 .41.3.4 多线程介绍 .4第 2章 系统分析 .62.1 系统需求 .62.1.1 系统的特点分析 .62.1.2 网络聊天系统需要解决的问题 .62.2 系统设计

12、思想 .62.3 系统实现功能分析 .72.4 系统开发及运行环境 .7第 3章 系统总体设计 .83.1 总体构架 .83.2 系统整体功能 .83.3 系统模块功能设计 .9第 4章 数据库设计 .124.1 系统 E-R 图 .124.2 数据字典 .124.3 各个数据表的创建 .124.4 数据库的连接 .13第 5章 系统实现与编码 .155.1 服务器功能模块的设计 .155.1.1 Socket 和 ServerSocket 介绍 .15本科毕业设计(论文)IV5.2 服务器功能模块的实现 .165.2.1 多线程服务器模块实现 .165.2.2 在线用户管理模块实现 .185

13、.2.3 部门管理模块实现 .205.2.4 用户管理模块实现 .215.2.5 日志管理模块实现 .225.3 协议设计与实现 .235.3.1 协议规则 .235.3.2 协议实现 .245.4 客户端功能模块的设计与实现 .275.4.1 登陆认证模块 .275.4.2 主界面模块 .275.4.3 聊天模块 .285.4.4 文件传输模块 .29第 6章 系统测试 .336.1 系统测试概述 .336.1.1 测试目标 .336.1.2 测试实例研究与选择 .336.1.3 系统测试环境 .336.2 测试内容 .346.2.1 服务器模块测试 .346.2.2 客户端模块测试 .34

14、6.2.3 平台兼容性测试 .356.3 测试结果分析评价 .35结 论 .36参考文献 .37致 谢 .38本科毕业设计(论文)1第 1章 绪论1.1 课题选择的背景信息时代的到来引发了一场知识和信息革命,计算机和现代网络技术的广泛应用极大地促进了社会经济的发展,同时也带来了一些新兴产业的发展,比如聊天软件。随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式已经难以满足人们的交流的需求了,网络聊天已经慢慢成为人们生活的一部分,呈现出良好的势头和广阔的发展前景。在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。同时,即时通信系统对现代企业也有着重大意义,它能

15、实现快速人际交流、数据共享,从而提高效率和生产力。实时通信为诸多企业开拓了网络应用的新领域。自从它诞生以来,以实时交互、资费低廉等优点,受到广大个人用户的喜爱,已经成为网络生活中不可或缺的一部分。越来越多的企业已开始认识到即时通信工具能够带来极高的生产力,并借助它的应用,来提高业务协同性及反馈的敏感度和快捷度。网上聊天系统是为人们之间进行交流和联系提供的一个平台。通过提供完善的网上聊天系统服务,可以达到增进彼此之间的了解,增进人与人之间的感情交流。因此,两台计算机之间进行即时通讯、发送文件等交流方式已经成为必然潮流。于是出现了QQ、UC 等聊天工具,然而QQ、UC 等聊天工具虽然方便、实用,但

16、是,娱乐功能太多,有很多吸引人的娱乐功能,从一定程度上来说,是一种娱乐工具,不能作为用于即时通讯的专用工具。目前,用于实现单一的即时通讯的软件实在太少,为此,我们决定开发一个专用于实现多台计算机之间即时通讯的软件,以方便多台计算机之间信息的快速交流。1.2 课题选择意义计算机越来越成为我们生活中的重要工具,自从1968年世界上第一个计算机网络-ARPA网(美国国防部高级研究计划网)投入运行以来,计算机网络技术在全世界范围内迅速发展,犹如雨后春笋,各种网络纷纷涌现。不同国家的计算机网络相互连接,形成跨国计算机网络,促进了世界各国之间的科技、文化和经济交流。在电子商务的应用中,计算机网络作为基础设

17、施,将分散在各地的计算机系统连接起来,使得计算机之间的通讯在商务活动中发挥了重要的作用,从此计算机的作用不再那么单调,现在Internet把几乎全球的服务器相互连接起来,这样不仅使网络上的计算机之间进行相互访问并下载对自己有用的资源,还可以用来写信、听音乐、看电视、通过可视电话进行通信,通过Internet网进行信息查询、网上购物等。计算机正在改变我们的通本科毕业设计(论文)2信、工作和娱乐的方式。1.3 系统开发技术简介1.3.1 Java简介Java 是 由 Sun Microsystems 公 司 于 1995 年 5 月 推 出 的 Java 程 序 设 计 语言 ( 以 下 简 称

18、Java 语 言 ) 和 Java 平 台 的 总 称 。 它以 C+为基础,但是却是一个全新的软件开发语言。Java 是一个简单,面象对象,分布式,解释性,强壮,安全,与系统无关,可移植,高性能,多线程和动态的语言-这是 Sun 给 Java 的定义。Java 平 台 由 Java 虚 拟 机 ( Java Virtual Machine) 和 Java 应 用 编 程 接 口( Application Programming Interface、 简 称 API) 构 成 。 Java 应 用 编 程 接 口为 Java 应 用 提 供 了 一 个 独 立 于 操 作 系 统 的 标 准

19、接 口 , 可 分 为 基 本 部 分 和 扩 展 部 分 。在 硬 件 或 操 作 系 统 平 台 上 安 装 一 个 Java 平 台 之 后 , Java 应 用 程 序 就 可 运 行 。 现在 Java 平 台 已 经 嵌 入 了 几 乎 所 有 的 操 作 系 统 。Java 是 一 种 简 单 的 , 面 向 对 象 的 , 分 布 式 的 , 解 释 型 的 , 健 壮 安 全 的 , 结 构中 立 的 , 可 移 植 的 , 性 能 优 异 、 多 线 程 的 动 态 语 言 。 Java 对开发者具有不可估量的价值,使他们可以: 在一个平台上编写软件,然后即可在几乎所有其他

20、平台上运行 创建可在 Web 浏览器和 Web 服务中运行的程序 开发适用于在线论坛、存储、投票、HTML 格式处理以及其他用途的服务器端应用程序 将采用 Java 语言的应用程序或服务组合在一起,形成高度定制的应用程序或服务 为移动电话、远程处理器、低成本的消费产品以及其他任何具有数字核心的设备编写强大而高效的应用程序 Sun 公司的口号就是“网络就是计算机“,Java 能使所有东西从桌面计算平稳的转变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的。使用 Java,我们可以相对轻松的一天编写一个有条理的网络程序。今天,Java 的网络功能正在飞跃发展,不断有新的特性增

21、加到这个有价值的基础上,JavaSoft 实验室正在不断努力使 Java 更加完善。本科毕业设计(论文)31.3.2 JDBC技术简介JDBC( Java Data Base Connectivity,java 数 据 库 连 接 ) 是 一 种 用 于 执 行SQL 语 句 的 Java API, 可 以 为 多 种 关 系 数 据 库 提 供 统 一 访 问 , JDBC 是 Java 的开发者 Sun 的 Javasoft 公司制定的。它 由 一 组 用 Java 语 言 编 写 的 类 和 接 口 组 成 。JDBC 为 工 具 /数 据 库 开 发 人 员 提 供 了 一 个 标 准

22、 的 API, 据 此 可 以 构 建 更 高 级 的 工具 和 接 口 , 使 数 据 库 开 发 人 员 能 够 用 纯 Java API 编 写 数 据 库 应 用 程 序 。有 了 JDBC, 向 各 种 关 系 数 据 发 送 SQL 语 句 就 是 一 件 很 容 易 的 事 。 换 言 之 , 有了 JDBC API, 就 不 必 为 访 问 Sybase 数 据 库 专 门 写 一 个 程 序 , 为 访 问 Oracle 数据 库 又 专 门 写 一 个 程 序 , 或 为 访 问 Informix 数 据 库 又 编 写 另 一 个 程 序 等 等 , 程序 员 只 需 用

23、 JDBC API 写 一 个 程 序 就 够 了 , 它 可 向 相 应 数 据 库 发 送 SQL 调 用 。 同时 , 将 Java 语 言 和 JDBC 结 合 起 来 使 程 序 员 不 必 为 不 同 的 平 台 编 写 不 同 的 应 用 程序 , 只 须 写 一 遍 程 序 就 可 以 让 它 在 任 何 平 台 上 运 行 , 这 也 是 Java 语 言 “编 写 一次 , 处 处 运 行 ”的 优 势 。Java 数 据 库 连 接 体 系 结 构 是 用 于 Java 应 用 程 序 连 接 数 据 库 的 标 准 方 法 。JDBC 对 Java 程 序 员 而 言

24、是 API, 对 实 现 与 数 据 库 连 接 的 服 务 提 供 商 而 言 是 接 口模 型 。 作 为 API, JDBC 为 程 序 开 发 提 供 标 准 的 接 口 , 并 为 数 据 库 厂 商 及 第 三 方 中间 件 厂 商 实 现 与 数 据 库 的 连 接 提 供 了 标 准 方 法 。 JDBC 使 用 已 有 的 SQL 标 准 并 支持 与 其 它 数 据 库 连 接 标 准 , 如 ODBC 之 间 的 桥 接 。 JDBC 实 现 了 所 有 这 些 面 向 标 准的 目 标 并 且 具 有 简 单 、 严 格 类 型 定 义 且 高 性 能 实 现 的 接

25、口 。 Java 具 有 坚 固 、 安 全 、 易 于 使 用 、 易 于 理 解 和 可 从 网 络 上 自 动 下 载 等 特 性 ,是 编 写 数 据 库 应 用 程 序 的 杰 出 语 言 。 所 需 要 的 只 是 Java 应 用 程 序 与 各 种 不 同 数据 库 之 间 进 行 对 话 的 方 法 。 而 JDBC 正 是 作 为 此 种 用 途 的 机 制 。ODBC 在 Windows 系列平台应用程序中和 JDBC 在 Web 和 Internet 应用程序中的作用的作用类似。ODBC(OpenData Base Connectivity),称为开放式数据库互联技术,

26、是由 Microsoft 公司倡导并得到业界普遍响应的一门数据库连接技术。 JDBC 现在可以连接的数据库包括:xbase、Oracle、Sybase、Aceess 以及 Paradox 等。JDBC 的工作机制 :JDBC 定义了 Java 语言同 SQL 数据之间的程序设计接口。JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用 JDBC 来完成对数据库的访问包括以下四个主要组件:Java 的应用程序、JDBC 驱动器管理器、驱动器和数据源。 JavaSoft 公司开发了 JDBC API,JDBC API 是一个标准统一的 SQL 数据存取接口。 JDBC 在 Internet

27、 中的作用与 ODBC 在 Windows 系列中的作用类似。它为 Java 程序提本科毕业设计(论文)4供了一个统一缝地操作各种数据库的接口,程序员编程时,可以不关心它所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性,而且在 Internet 上确实无法预料你的用户想访问什么类型的数据库。只要系统上安装了正确的驱动器组,JDBC应用程序就可以访问其相关的数据库。1.3.3 数据库 Microsoft SQL-Server 2000 简介Microsoft SQL-Server(简称 SQL-Server)是微软公司推出的一个高性能的关系型数据库管理系统,随着其产品性能的不断提高,使之

28、在数据库系统领域中占有重要地位。Microsoft SQL-Server 2000 是继 SQL-Server 6.5 和 SQL-Server 7.0 以后,推出的又一改进的关系型数据库管理系统,它能使用户快捷地管理数据库和开发应用程序。SQL-Server 2000 使用了最先进的数据库结构,与 Windows DNA 紧密集成,具有强大的 Web 功能,它可以利用高端硬件平台以及最新网络和存储技术,可以为最大的 Web 站点和企业应用提供优良的扩展性和可靠性,使用户能够在 Internet 领域快速建立服务系统,为占领市场赢得宝贵的时间。同时,SQL-Server 2000 还为用户提供

29、了重要的安全性功能的增强,为用户的数据安全提供了可靠的保证。另外,SQL-Server 2000 在数据库服务器自动管理技术方面处于数据库领域的领先地位,它可以使用户免去繁琐复杂的工作量,从而又精于处理更重要的问题,使系统在商业战略上占得先机。SQL-Server 数据库系统特点:与 Internet 高度集成;高伸缩性和适应性;企业级数据库功能强。存储过程是存储在服务器上的预先编译好的 SQL 语句,可以在服务器上的 SQL Server 环境下运行 12。使用存储过程有如下的好处:执行时间短;客户/服务器开发分离;安全性高。SQL-Server 2000 工具界面与标准 Windows 界

30、面非常类似,具有菜单栏、图标、树状视图控件、单选按钮等。这些熟悉的界面使以前即使从没有见到过这些应用程序的人也能够很快地了解一些基本的功能。1.3.4 多线程介绍Java 支持内置多线程编程。多线程程序包括两条或两条以上并发运行的部分。程序中每个这样的部分都叫一个线程,每个线程都是独立的执行路径。因此,多线程是多任务处理的一种特殊形式。 多任务处理有两种截然不同的类型:基于进程的和基于线程的。进程本质上一个正在执行的程序。因此,基于进程的多任务处理的特点是允许你的计算机同时运行两个或更多的程序。举例来说,基于进程的读任务处理使你在运行文本编辑器的时候可以同时运行Java 编译器。在基于进程的多

31、任务处理中,程序是调度程序多分派的最小代码。也就是说,进程是资源申请、调度和独立运行的单位,因此,它使用系统中本科毕业设计(论文)5的运行资源。在基于线程的多任务处理环境中,线程是最小的执行单位。线程是进程中的一个单一的连续控制流程。一个进程可以拥有多个线程。这意味着一个程序可以同时执行两个或多个任务的功能。例如,一个文本编辑器可以在打印的同时格式化文本。所以,多进程程序处理大局问题,而多线程程序处理细节问题。 多线程程序比多进程程序需要更少的管理开销。进程是重量级的任务,需要分配它们自己独立的地址空间。进程间通信是昂贵和受限的。进程间的转换也是很需要花费的。另一方面,线程是轻量级的选手,它和进程一样拥有独立的执行控制,由操作系统负责调度。区别在于线程没有独立的存储空间,而是和所属进程的其他线程共享一个存储空间,因此,线程间通信是容易的,线程间的转换也是低开销的。当Java 程序使用多进程的任务处理环境时,多进程的程序不受Java 的控制,而多线程则受控于Java。 多线程可以帮会你写出CPU 最大利用率的高效程序,因为空闲时间保持最低。这对Java 运行的交互式的网络互联环境至关重要,因为空闲时间是公共的,举个例子来说,网络的数据处理传输速率远低于计算机处理能力,本地文件

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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