局域网即时通讯软件设计与实现毕业论文.doc

上传人:龙*** 文档编号:145767 上传时间:2018-07-11 格式:DOC 页数:54 大小:2.89MB
下载 相关 举报
局域网即时通讯软件设计与实现毕业论文.doc_第1页
第1页 / 共54页
局域网即时通讯软件设计与实现毕业论文.doc_第2页
第2页 / 共54页
局域网即时通讯软件设计与实现毕业论文.doc_第3页
第3页 / 共54页
局域网即时通讯软件设计与实现毕业论文.doc_第4页
第4页 / 共54页
局域网即时通讯软件设计与实现毕业论文.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、兰州交通大学毕业设计(论文) I 摘 要 即时通信在互联网领域的应用取得了巨大的成功,但在学校企业内部的应用仍远未普及。鉴于即时通讯作为一项有广泛应用价值的技术框架,在逐步适应企业网络教育网络的应用特点后,局域网即时通信必将取得和电子邮件一样的普及效果。该系统使用 Myeclipse 作为开发平台 MysqL 数据库存储用户信息和聊天记录,用套接字连接客户端和服务器,用数据包套接字发送消息。本系统采用 C/S 模式构建,由客户端和服务器组成。客户端只要填写服务器的 IP 地址和通信端口号,并通过所分配的账号,就可以登陆和使用。服务器与 MysqL 数 据库可部署在同一网段的任一节点上,通过接受

2、客户端不同请求而对数据库进行增加删除、修改、查找的操作,这样就可以方便的进行维护并前保证了同一局域网信息的安全和网络资源的充分利用,并且最大程度的保证了数据库的安全性。使用该系统可进行一般的文字交流,添加好友等功能。 关键词 : Myeclipse; Socket;多线程; MysqL 数据库; TCP/IP 协议 兰州交通大学毕业设计(论文) II ABSTRACT Instant messaging applications on the Internet were a great success, but in schools, enterprises are still far fro

3、m universal in application. In view of instant messaging applications as the value of a broad technical framework, and gradually adapt to the corporate network, the application of the characteristics of the education network, the LAN access to instant messaging and e-mail will be the same universal

4、effect. The introduction of the system Myeclipse as a development platform, Mysql database storing user information and chat with a socket connection client and server, and send a message packet socket. The system uses C/S mode of construction, from the client and server-side component. Simply fill

5、out the client server IP address and communications port number, and through the distribution of the account, you can log in and use. Mysql database server and can be deployed in the same network segment at any node, by receiving the request of the client defferent additions and deletions to the dat

6、abase search operation, This can be convenient for maintenance and to ensure that the same local area network information security and make full use of network resources and ensure maximum safety of the database. The system can be used for general exchang of text, add friend functions. Key words: My

7、eclipse; Socket; Thread; Mysql Databasse; TCP/IP 兰州交通大学毕业设计(论文) III 目 录 前言 . 1 第 1 章 绪 论 . 2 1.1 课题背景及意义 . 2 1.2 课题现状 . 2 1.3 课题目标与内容 . 3 第 2 章 系统开发环 境和关键技术 . 4 2.1 开发环境 . 4 2.2 关键技术 . 4 2.2.1Java . 4 2.2.2 Myeclipse 与 MysqL . 6 2.2.3Java Socket 网络编程接口 . 7 2.2.4 多线程开发技术 . 7 2.2.5 TCP/IP UDP 协议 . 8 2

8、.2.6 Client/Server 结构(客户端 /服务器模式) . 9 第 3 章 系统分析与设计 . 10 3.1 可行性分析 . 10 3.1.1 经济可行性 . 10 3.1.2 技术可行性 . 10 3.1.3 法律可行性 . 11 3.2 系统分析 . 11 3.2.1 系统需求 . 11 3.2.2 需求分析 . 12 3.3 系统设计 . 21 3.3.1 设计原则及一般要求 . 21 3.3.2 概要设计 . 21 3.3.3 功能设计 . 21 3.3.4 工作流程 . 25 兰州交通大学毕业设计(论文) IV 3.3.5 数据库设计 . 25 第 4 章 系统实现 .

9、30 4.1 服务器端设计实现 . 30 4.1.1 服务器端模块 . 30 4.2 客户端设计实现 . 30 4.2.1 客户端登陆模块 . 30 4.2.2 注册模块 . 31 4.2.3 登陆主界面 . 33 4.2.4 文字传送 . 33 4.2.5 查找好友 . 34 4.2.6 添加好友 . 35 4.3 系统功能特点 . 35 第 5 章 难点及对策 . 36 总结与展望 . 37 致谢 . 39 参考文献 . 40 附录 程序源代码 . 41 兰州交通大学毕业设计(论文) 1 前 言 随着电脑和互联网的普及,网 络聊天已经成为人们工作生活中传递信息,交流感情的重要工具。网络 的

10、聊天软件种类繁多,如 QQ MSN 等,实现了随时随地上网聊天,给人们带来了很大的方便。但是这些聊天软件也存在以下不足:用户必须连接 Internet;用户再工作时容易很沉迷于网络聊天。为了方便单位企业内部的信息交流,减少不必要的财力和人力资源浪费,开发一个局域网聊天软件是非常必要的。 现在,多渠道的信息源,网络化的数据分布,快键医用的交互操作,智能化的分析决策等特点越来越成为衡量聊天软件的关键,因此,本人开发一个局域网聊天软件, 此聊天软件是基于 Java 语言运行于 Windows 平台上,利用的技术主要是 Socket 通信和多线程技术,使用 MySqL 作为数据库管理。为实现和方便客户

11、端间通信,在客户端进行了人性化的界面设计,用户可以注册号码,登陆界面可选择是否保存密码,具有 添加分组、添加好友 功能等 。 第 1 章 对本课题的背景及意义,课题现状,课题内容与目标进行了深入的阐述 第 2 章 介绍了系统的开发环境和关键技术,例如 Socket 编程技术,多线程开发技术等。 第 3 章是系统分析与设计。将对系统进行需求分析,对组成系统的功能模块进行划分,对每个模块将要实现的功能进行阐述和说明。对系统的结构进行设计,设计数据库。 第 4 章是系统实现 ,分别 介绍了服务器端和客户端每个功能的执行过程。 第 5 章介绍系统开发中遇到的难点及相应对策。 最后,将对本设计进行归纳总

12、结,全面阐述本次设计中的体会。 兰州交通大学毕业设计(论文) 2 第 1 章 绪 论 1.1 课题 背景及意义 近年来,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效,快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,企业内 部的信息越来越私密,企业只希望 员工通过内部局域网进行沟通与交流 ,避免企业内部机密通过 Internet 泄露到外部。为了解决上述矛盾,人们提出了开发局域网聊天软件 的构想,通过局域网聊天软件,企业员工可以随时的进行即时

13、信息传递 召开网络会议等,有利于提高工作信息效率,同时又保护了企业内部信息的安全性。 本系统采用基于 Socket 的局域网通信工具的设计与实现的方法。基于 Socket 的局域网通信软件可以为企业原有的局域网提供一种良好安全 快速地通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降 低局域网通信负荷,提高局域网的使用效率,可以很好地解决企业内部局域网的各种通信需求。 基于 Socket 的局域网聊天工具很好地诠释了 Socket 通信的原理,并且在企业内部通信 教学 讨论等应用中都具有一定的使用价值。它具有信息收发速度快,保密性好,占用网络带

14、宽资源低,占用服务器吞吐能力低,易于编程实现等优点。 基于 Socket 的局域网通信软件应用范围广阔,不但可以处 理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育 数据影音传输等,拥有广泛的应用 前景 1.2 课题现状 基于局域网的即时通信工具, 实际上是互联网即时通讯工具的一个小规模版本,广域网上的即时通讯工具,如今一般采用 UDP 或者 TCP 协议体系来实现,开发技术已经比较成熟,比如较早的 ICQ MSN Messenger Yahoo。 除了这些国外开发的产品,还有国产的有名的 QQ,新浪 UC LAVA-LAVA 等,这些工具统统都实现了 广域网上的即时通信,实现了

15、即时聊天,以及文件传输的主要功能, 尽管都是即时通信, 但是也各有各的特色。比如 ICQ 的巨大客户群, MSN 的个性化表情, YSHOO 通的易操作性等。而QQ 也具有一个相当方便的屏幕截图功能,另外就是,所有 上述软件都实现了网络即时的视频,语音聊天功能。这些软件,在使用方面各有特色,在实现方面也各有所长,但基于这产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是兰州交通大学毕业设计(论文) 3 它在大的方面无非就是利用各种平台上的网络通信接口,建构基于下层 TCP/IP,或者UDP 协议的软件产品。 1.3 课题目标与内容 本课题主要研究的是局域网即时聊天软件,此聊

16、天软件分为服务器程序和客户端程序,本课题的目标是能实现用户在客户端与服务器端 客户端与客户端 传递文字信息 主要研究开发内容是:熟悉 Java 和 MySqL 服务器的配置, 搭配系统开发平台,探索在此开发平台下,利用 Socket 编程技术,多线程开发技术, TCP, UDP 协议等进行局域网聊天软件的实际开发。 主要功能有: 用户注册 用户登录 添加分组 删除分组 添加好友 删除好友 移动好友 即时通信文字传送 文件及文件夹发送 发送表情 字体设置 头像更改 查找好友 实现技术: Myeclipse 6.5 Mysq 数据库 兰州交通大学毕业设计(论文) 4 第 2 章 系统开发环境和关键

17、技术 2.1 开发环境 通讯软件 是一款 聊天 软件, 采用目前国际上比较流行的 Myeclipse 开发模式开发,因此,该软件系统 具有极大的灵活性和可扩展性。 1 服务器端 硬件环境: CPU: 奔腾 Pentium 系列, 主频 1G 以上 硬盘: 20G 以上剩余空间 内存: 1G/2G 以上 2. 客户端 硬件环境: CPU: PIII 450/133MHz 以上 硬盘: 500M 以上剩余空间 内存: 512M 以上 3软件环境: Microsoft 视窗系列操作系统( Windows2000 以上) Myeclipse 6.5 JDK 1.5 后台数据库 MySqL 开发语言 J

18、ava 2.2 关键技术 2.2.1Java 1.Java 的定义: Java 是一种简单的、面向对象的、分布式的、解释的、 键壮的 、安全的、 结构的 、中立的 、 可移植的 、 性能很优异的 、多线程的、 动态的语言。 Java 的开发环境有不同的版本,如 sun 公司的 Java Developers Kit, 简称 JDK。后来微软公司推出了支持 Java 规范的 Microsoft Visual J+ Java 开发环境,简称 VJ+。 2.Java 的特点: . 平台无关性 平台无关性是指 Java 能运行于不同的平台。 Java 引进虚拟机原理,并运行于虚拟机,实现不同平台的 J

19、ava 接口之间。使用 Java 编写的程序能在世界范围内共享。 Java的数据类型与机器无关, Java 虚拟机( Java Virtual Machine)是建立在硬件和操作系统兰州交通大学毕业设计(论文) 5 之上,实现 Java 二进制代码的解释执行功能, 提供于不同平台的接口的。 . 安全性 Java 的编程类似 C+,学习过 C+的读者将很快掌握 Java 的精髓。 Java 舍弃了 C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。 Java 对程序提供了安全管理器, 防止程序的非法访问。 . 面向对象 Java 吸取了 C+面向

20、对象的概念 ,将数据封装于类中 ,利用类 的优点 ,实现了程序的简洁性和便于维护性。类的封装性、 继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。 Java 提供了众多的一般对象的类,通过继承即可使用父类的方法。在 Java 中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。 Java 提供的 Object 类及其子 类的继承关系如同一棵倒立的树形,根类为 Object 类, Object 类功能强大,经常会使用到它及其它派生的子类。 . 分布式 Java 建立在扩展 TCP/IP 网络平台

21、上。库函数提供了用 HTTP 和 FTP 协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。 . 健壮性 Java 致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。 Java 自己操纵内存减少了内存出错的可能性。 Java 还实现 了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发 Java 应用程序的周期。 Java 提供: Null指针检测、 数组边界检测、 异常出口、 Byte code 校验。 3. Java 与 C/C+语言 Java 提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。 C+安全性不好,但 C

22、和 C+被大家接受,所以 Java 设计成 C+形式,让大家很容易学习。 Java 去掉了 C+语言的许多功能,让 Java 的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。 Java 去掉了以下几个 C 和 C+功能: 指针运算 结构 typedefs #define 兰州交通大学毕业设计(论文) 6 需要释放内存 这将减少了平常出错的 50%。而且, Java 很小,整个解释器只需 215K 的 RAM。 面向对象: Java 实现了 C+的基本面向 对象技术并有一些增强,(为了语言简单,删除了一些功能)。 Java 处理数据方式和用对象接口处理对象数据方式一样。 2.2.2

23、Myeclipse 与 MysqL 1 Myeclipse MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在结构上, MyEclipse 的特征可以被分为 7 类: . J2EE 模型 .

24、 WEB 开发工具 . EJB 开发工具 . 应用程序服务器的连接器 . J2EE 项目部署服务 . 数据库服务 . MyEclipse 整合帮助 对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。 MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任 意 模块进行单独的扩展和升级。 简单而言, MyEclipse 是 Eclipse 的插件,也是一款功能强大的 J2EE 集成开发环境,支持代码编写、配置、测试以及除错。 2 MysqL MySQL是一个小型关系型数据库管理系统,开发者为瑞典 MySQLAB 公司,在 2008年 1 月 16 号被 Sun 公司收购。 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。如雅虎、 Google 公司、诺基亚公司、百度等公司就采用了 MySQL 数据库。 MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库。除了具有许多其它数据库所不具备的功能和选择之

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

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

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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