为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于TCPUDP协议的局域网即时通信工具的设计与实现

2017-10-26 24页 doc 52KB 34阅读

用户头像

is_597436

暂无简介

举报
基于TCPUDP协议的局域网即时通信工具的设计与实现基于TCPUDP协议的局域网即时通信工具的设计与实现 摘 要 随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。局域网的发展也同样迅速。很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET.因此基于局域网的即时通信工具,就这样应运而生了。随着信息技术的发展,即时通信(Instant Message)软件应运而生,即时通信工具让我们冲破了地域的界限,随时随地和各地的朋友沟通联系,它们已经成为新时代人们生活和工作中不可缺少的伙伴~即时通...
基于TCPUDP协议的局域网即时通信工具的设计与实现
基于TCPUDP的局域网即时通信工具的设计与实现 摘 要 随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。局域网的发展也同样迅速。很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET.因此基于局域网的即时通信工具,就这样应运而生了。随着信息技术的发展,即时通信(Instant Message)软件应运而生,即时通信工具让我们冲破了地域的界限,随时随地和各地的朋友沟通联系,它们已经成为新时代人们生活和工作中不可缺少的伙伴~即时通信(Instant Message),由于其具有实时性、跨平台行、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信工具具有较强的现实意义。 本文设计并实现了基于局域网的简单即时通信系统,系统采用C/S模式,底层通信公告SOCKET套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和消息的发送。客户端采用点对点方式实现消息传递,并能实现文件的传输。本系统基于JAVA,使用Eclipse等作为开发工具完成即时通信系统的设计。 关键词:局域网 即时通信 文件传输 TCP协议 UDP协议 1 The Design and Implementation of Simple Instant Message Software Based on TCP/UDP Protocol Abstract Along with the high-speed development of the computer network technology, various of applications based on network was born, like information releasing, data sharing ... The development of the LAN is the same fast. Some governments, enterprises and schools constitute a LAN first ,then join into INTERNET. So the instant messenger in LAN was borned. With the development of information technology, instant messaging ( Instant Message ) emerge as the times require software, instant communication tools allow us to break geographical boundaries, whenever and wherever possible and friends from all over the communication link, which has become a new era of people living and working in an indispensable partner! Instant messages have several advantages such as real-time, cross-platform, cheap and efficient. To design a Multi-user IM (instant message) architecture is very important in both theory and realism. The system uses the client/server(C/S) mode. The server takes the responsibility of the login message of client, the saving of friend message and Message heartbeat. The transmission of the basic messages of the customer end will be designed on P2P architecture. The system is based on JAVA, using Eclipse as a development tool to complete the instant communication system design. Key words: Local area network; Instant Message; File Transfer; TCP protocol;UDP protocol 2 基于TCP/UDP协议的局域网即时通信工具的设计与实现 目 录 摘 要 ............................................................................................. 1 The Design and Implementation of Simple Instant Message Software Based on TCP/UDP Protocol ............................................ 2 第一章 绪论 .................................................................................... 5 1.1 研究背景及研究意义 ................................................................................ 5 1.2 即时通信的基本知识 ................................................................................ 6 1.3 TCP与UDP的相关知识 ........................................................................ 6 第二章 相关工具及技术介绍 ........................................................ 8 2.1 系统开发环境 ........................................................................................... 8 2.2 系统开发所用工具 .................................................................................... 8 2.2.1 ECLIPSE的简介及运用 ............................................................................ 8 2.2.2 JAVA的简介及运用 ................................................................................. 8 第三章 系统需求分析与总体设计............................................... 10 3.1 即时通信工具需求分析......................................................................... 10 3.2 性能分析 ................................................................................................. 10 3.3 系统设计的目标 ...................................................................................... 11 3.4 系统功能模块设计 .................................................................................. 11 第四章 数据库设计 ...................................................................... 12 4.1 数据库的基本概念 .................................................................................. 12 4.2 概念结构设计 ......................................................................................... 12 4.3 逻辑结构设计 ......................................................................................... 14 4.4 物理结构设计 ......................................................................................... 15 第五章 系统详细设计与实现 ...................................................... 16 5.1 用户管理 ................................................................................................. 16 5.1.1 新建用户模块....................................................................................... 16 5.1.2 登录模块 .............................................................................................. 16 5.1.3 删除好友模块....................................................................................... 17 5.2 用户登录获取信息模块 .......................................................................... 17 5.3 查找用户模块 ......................................................................................... 17 5.4 添加好友模块 ......................................................................................... 18 5.5 建群模块 ................................................................................................. 18 5.6 即时聊天模块 ......................................................................................... 19 5.6.1 文件传输模块....................................................................................... 19 3 目 录 5.6.2 语音聊天模块 ....................................................................................... 19 结 束 语 ......................................................................................... 20 致 谢 ............................................................................................. 21 参考文献 ......................................................................................... 22 4 基于TCP/UDP协议的局域网即时通信工具的设计与实现 第一章 绪论 在网络飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各方面发挥着重要的作用。互联网上存在大量的信息,人与人之间的沟通、信息交换显得尤为重要。人们一直在寻找一种方便、低廉的交流信息工具,因此网上聊天便成为人们的首先,而一个好的的即时通信工具是操作简单、方便,界面美观大方、人性化、节约系统资源。一个好的即时通信工具不仅仅是方便了人们的生活,同时也给企业带来了商业利益,很多事情都可以通过进行聊天而解决、通过服务器的消息传输让用户能够很快的获取信息,节约了时间也创造了更多的利益。 1.1 研究背景及研究意义 随着社会经济技术的发展,即时通信在全球的应用越来越广泛,从以前最开始的简单通信到现在视频聊天、查资料、看电视等功能的应用,即时通信已经成为人们生活当中必不可少的一部分,即时通信不仅仅应用到生活当中,影响着人们的一切,而且现在也应用到各个领域影响着整个世界。随着网络技术的发展,即时通信正在成为在线活动中不可或缺的业务,即时通信软件不仅仅只限于用户间的聊天活动,运营商已经开始利用即时通信平台不断地进行业务的扩张和整合,充分的运用到整个企业,整个社会当中,而即时通信软件的诞生也给企业的管理带来了新的思路和手段,推动了企业工作效率的提高,降低了办公费用,引起了工程应用领域的研究热潮。即时通信的实时交互、低廉资费、方便快捷让其成为继电话、邮件等通讯工具之后的又一个充分融入现代企业沟通的互联网工具。但是任何事务在发展的同时也必然会带来各方面的问题,比如最常见的安全问题,即时通信的优点就是能够实时交互,马上能够知道对方的一切,然而这样也很容易照成安全隐患问题,一旦没有做好加密、防火墙工作,数据、资料等就很很容易遭到泄露,被恶意篡改、窃听,从而导致对方收到的信息是错误的,这样也会给工作、生活等方面带来困难。 所以当前,研究网络即时通信系统是当今网络编程方面的一个热门课题。即时通信正成为在线活动中不可或缺的业务。小至个人、企业大至国家、世界,演化着即时通信的飞速变化,日益改变丰富着人们的生活。而在经济技术日益发展的情况下,对即时通信的需求也越来越迫切,所以在此前提下,就急需一种两全其美的解决。 5 第一章 绪论 1.2 即时通信的基本知识 随着信息技术的发展,即时通信(IM)软件应运而生,即时通信工具让我们冲破了地域的界限,随时随地和各地的朋友沟通联系,它们已经成为新时代人们生活和工作中不可缺少的伙伴~即时通信(IM)是指能够即时发送和接收互联网消息等的业务。1998年即时通信的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。随着移动互联网的发展,互联网即时通信也在向移动化扩张。目前,微软、AOL、Yahoo等重要即时通信提供商都提供通过手机接入互联网即时通信的业务,用户可以通过手机与其他已经安装了相应客户端软件的手机或电脑收发消息。 即时通信是一个基于局域网平台而设计的系统,其开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。前者要求建立起数据一致性、完整性、安全性高的库,后者则要求应用程序功能完备,能够题供前台顺利运行,易使用等特点。即时通信具有:管理员设置客户端的单位组织结构信息;客户端不需自行添加联系人;联系人之间能够发送消息;联系人之间能够互相传送文件;管理员能够建立现了人分组,加入分组后的联系人允许互相通信;分组成员之间可以群发消息等功能。 1.3 TCP与UDP的相关知识 Java网络编程中有两种不同的通讯协议,分别是TCP(面向连接)与UDP(面向无连接),两种协议各有优缺点。 TCP:是Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。 UDP:是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及6 基于TCP/UDP协议的局域网即时通信工具的设计与实现 内容的正确性都是不能被保证的。 其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。 7 第二章 相关工具及技术介绍 第二章 相关工具及技术介绍 2.1 系统开发环境 由于日趋发展的信息技术,对通信工具的要求也逐渐提高,而快速的成长当中带来的影响也是深远的,那么如何在这样的环境下设计一个安全系数高、方便快捷的通信工具呢,这就是本系统所要解决的问题。实现局域网用户之间的即时交流与文件传输,建立网络即时通信安全机制,保证信息传送的及时性和安全性。本系统采用基于java平台的Eclipse工具来设计并实现这一通信工具的设计与实现。 2.2 系统开发所用工具 2.2.1 Eclipse的简介及运用 Eclipse是一种基于 Java 的可扩展开源开发平台。就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个的插件集,包括为人熟知的 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。更舒服的是,利用Eclipse中的MyEclipse插件来搭建一个动态JSP程序,快速,简单、方便。 2.2.2 Java的简介及运用 技术上采用sun公司的java语言,该语言有很多有点,比如多线程、网8 基于TCP/UDP协议的局域网即时通信工具的设计与实现 络流概念、异常捕获处理、安全性以及速度与性能等方面,并且具有可以一次编写、到处运行的跨平台优点。 多线程:多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立,线程又称为轻量级进程,多线程技术允许你在一个应用程序中启动多个执行轻量程序,使多段程序同时竞争CPU资源,从而提高系统效率。而对于网络通讯工具来说,多线程的特性是必须的,不仅是为了效率,而且可以实现同时处理多个请求。 网络流:java中的网络通讯以及文件的读取都是以一种流的概念来理解的,这样,网络上数据的传输其实就等同于看成一台机器上文件的读取,有利于理解与编写运用程序,java类库中提供了丰富的IO流类资源以及网络编程类资源,软件开发人员可以很方便的编写网络应用程序。 例外处理:Java通过面向对象的方法来处理例外。在一个方法的运行过程中,如果发生了例外,则这个方法生成代表该例外的一个对象,并把它交给运行时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把它提交给运行时系统的过程称为抛弃(throw)一个例外。运行时系统在方法的调用栈中查找,从生成例外的方法开始进行回朔,直到找到包含相应例外处理的方法为止,这一个过程称为捕获(catch)一个例外。所以,java的例外处理使非常方便的。 跨平台:Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。 9 第三章 系统需求分析与总体设计 第三章 系统需求分析与总体设计 3.1 即时通信工具需求分析 伴随着当今互联网的迅速发展,人们之间的信息交互的实时性能变得越来越重要,传统的电子邮件交互已经不能够满足人们的即时通讯要求,鉴于此种情况打算开发出一款类似于腾讯QQ的即时通讯软件,只要经过注册你便可以获取一个帐号,通过该帐号你可以在客户端登陆,成功登录后便可以在互联网上与你的亲朋好友进行畅谈,由于技术和时间问题,该软件主要提供私聊、群聊、好友管理、群管理等常用功能,其它一些功能比如文件传输、语音聊天和视频聊天等功能,由于技术问题暂时没有实现,可以在该系统的基础上实现这些功能,也可以在此基础上进行更多功能的扩展。 3.2 性能分析 作为一个简单安全的沟通通信平台,安全及时通信系统需要保证数据通信的即时性以及通信过程和信息存储的安全性,为使用者提供信息安全保证,同时减少系统资源的消耗,保证系统运行的速率。 1.数据通信完整和可靠性:即时通信亦即用户间能实时发送和接收各种信息,包括文本通信和文件传输,其中保证数据的可到达性,保证数据解读的正确性,防止数据丢失和数据错位,从而保证消息传达的可靠性。 2.通信安全性:通信安全是指保证客户之间传送消息和文件的安全,防止数据在传输过程中遭泄密、窃密或被篡改数据。 3.通信效率和公平性:这主要体现在服务器端。服务器需要同时处理所有用户发送的各类信息,并且需要完成数据库存储、读取、更新等操作。需要采用适当的方法提高服务器接受、解读、处理和发送数据的效率,在指定时间呃逆完成需要的通信量,提高系统的即时通信性能,通信保证数据处理的公平性,保证各客服端的信息能够被及时响应和处理。 4.系统可控性:系统可控性是指系统运行期间完成数据存储、数据库备份、系统故障恢复等任务的性能,包括用户注册管理、登陆管理、客户端运行过程中监控等模块的设计。防止重要数据的丢失或被篡改,提高系统的运行可靠性,增强系统使用者的信心。 5.系统稳定性能:系统稳定性包括系统在高通信强度下是否能够正常、及时低处理各客服端的请求和信息,系统在长时间工作状态下是否会出现异常10 基于TCP/UDP协议的局域网即时通信工具的设计与实现 以及系统容错性能等。防止系统崩溃和程序退出,同时降低程序运行中CPU等资源的消耗。 3.3 系统设计的目标 本课题目标是实现局域网用户之间的即时交流与文件传输等,通过基础的网络SOCKET编程,为局域网内部的即时通信提供一个简单而较安全的解决方案。 3.4 系统功能模块设计 该系统主要包括三层,客户端,服务器端,以及数据库服务器,客户端用来提供用户的登录,服务器端用来对登录的用户进行管理以及用来处理信息之间的转发,数据库服务器主要存放一些重要的信息。它们之间的关系如下图所示: 客户端 服务器 数据库服务器 根据上述需求的描述,对该系统按照功能进行了模块的细化,主要包括注册登录、好友聊天、好友组管理、群聊天4个模块,还有很多其它小模块,这4个模块是实现该系统的核心模块,模块之间的耦合程度非常低,其中注册模块是通过B/S结构来实现,不需要安装客户端。下图是上述的4个重要模块的用例交互图。 11 第四章 数据库设计 第四章 数据库设计 4.1 数据库的基本概念 数据库技术是数据管理的最新技术,是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一。它已成为各行各业存储数据、管理信息、共享资源的最先进最常用的技术。数据库,简单地说就是数据的仓库,即数据存放的地方。数据库系统(database systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。数据库系统DBS(Data Base System,简称DBS)是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。 4.2 概念结构设计 概念结构设计就是对信息世界进行建模,常用的概念模型是E-R模型,它是P.P.S.Chen于1976年提出来的。概念结构设计的任务是在需求分析阶段产生的需求的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。而这样做有三个好处:(1)从逻辑设计中分离出概念设计以后,各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。(2)概念模型不受特定的DBMS的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模型更为稳定。(3)概念模型不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而更有可能准确反映用户的信息需求。概念模型在数据库的各级模型中的地位如图所示: 12 基于TCP/UDP协议的局域网即时通信工具的设计与实现 应用1 应用1 应用2 应用3 外模式1 外模式3 外模式2 应用要求 应用2 映像 概念模 应用要求 式 概念模式 应用3 映像 转换 物理模式 应用要求 综合 (a) (b) 概念结构设计的特点 (1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用 户对数据的处理要求。是对现实世界的一个真实模型。 (2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极 参与是数据库的设计成功的关键。 (3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。 (4)易于向关系、网状、层次等各种数据模型转换。 概念结构设计的方法:设计概念结构的E-R模型可采用以下四种方法 (1)自顶向下:首先定义全局概念结构的框架,然后逐步细化 (2)自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构 (3)逐步扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构 (4)混合策略:将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。 概念结构设计的步骤:以自底向上设计方法为例 进行数据抽象,设计局部E-R模型,即设计用户试图。 集成格局部E-R模型,形成全局E-R模型,即视图集成。 以局部E-R模型设计为例:数据抽象后得到了实体和属性,实际上实体和属性是相对而言的,往往要根据实际情况进行必要的调整。在调整中要遵循以下两条原则。 13 第四章 数据库设计 实体具有描述信息,而属性没有。即属性必须是不可分的数据项,不能再由另一些属性组成。 属性不能与其他实体具有联系,联系只能发生在实体之间。 而根据本课题来看,通信工具的设计则在概念结构设计中能够体现出来,用户是一个实体,账号、昵称、性别、年龄、等级等是用户实体的属性。这时,等级只表示用户属于那个级别,不涉及具体情况,换句话说,没有需要进一步描述的特性,即是不可分的数据项,则根据原则1可以作为用户实体的属性。 用 户 账号 昵称 年龄 性别 等级 学 生 等级 属于 账号 昵称 好友人数 性别 年龄 级别 4.3 逻辑结构设计 1. 概念结构设计阶段得到的E-R模型是用户的模型,它独立于任何一种数据模型,独立于任何一个具体的DBMS。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。设计逻辑结构时一般要分三步进行: , 将概念结构转换为一般的关系、网状、层次模型,并将转化来的关系、 网状、层次模型向特定DBMS支持下的数据模型转换 , 对数据模型进行优化 一般的逻辑结构设计分为以下三步:1.初始关系模式设计;2.关系模式规 范化;3.模式的评价与改进。 2.设计外模式: 14 基于TCP/UDP协议的局域网即时通信工具的设计与实现 前面我们根据用户需求设计了局部应用视图,这种局部应用视图只是概念模型,用E-R图表示。在我们将概念模型转换为逻辑模型后,即生成了整个应用系统的模式后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图概念,支持用户的虚拟视图。我们可以利用这一功能设计更符合局部用户需要的用户外模式。定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模式是独立的,因此我们在定义用户外模式时应该更注重考虑用户的习惯与方便。 包括: 使用更符合用户习惯的别名 针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求 简化用户对系统的使用 4.4 物理结构设计 数据库最终要存储在物理设备上。对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构的过程,称为数据库物理结构设计。物理结构设计的任务是为了有效地实现逻辑模式,确定所采取的存储策略。此阶段是以逻辑设计的结构作为输入,结合具体DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。 数据库的物理结构设计可分为两步:1.确定物理结构。2.评价物理结构,评价的重点是时间和空间效率。 1.确定物理结构 (1)确定数据库的存储结构 (2)设计数据库的存取路径 (3)确定数据的存放位置 (4)确定系统配置 2.评价物理结构 和前面几个设计阶段一样,在确定了数据库的物理结构之后,要进行评价,评价重点是时间和空间的效率,如果评价结果满足设计要求,则可进行数据库实施。实际上,往往需要经过反复测试才能优化数据库物理结构。 15 第五章 系统详细设计与实现 第五章 系统详细设计与实现 5.1 用户管理 5.1.1 新建用户模块 注册模块是整个系统最基础的模块,当服务器收到用户的注册请求,便开始接受客户传递的消息,诸如客户的昵称、性别、籍贯、头像、个人资料等。便通过与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回起申请号码,客户收到服务器返回的信息后,便打开主程序窗口。程序流程图: 信服注客户客户点填 息务册端登端主击写 处器 页录 框 界面 注 信 理 端 面 册 息 通过此模块可以实现密码的找回、密码的修改以及个人信息的查询。 5.1.2 登录模块 该模块主要给注册成功的用户提供一个登录界面,用户根据自己注册的帐号信息可以与服务器交互,如果提供的信息通过服务器的验证便可以成功的登录系统,成功登录系统之后,可以进行一些操作,比如和好友聊天等,使用该模块之前必须安装一个客户端。登录模块只是一个简单的页面,主要填写用户名、密码之类的信息,登录成功后的主界面包含了系统的大部分功能,比如添加和删除好友、添加和删除好友分组、和朋友聊天等功能。下图是登录模块的用例图: 填写信服客户端主界客服务器客 息发送务面或者提示户对客户户 到服务器 错误并进入端 信息处端 器 端 登陆界面 理结果 16 基于TCP/UDP协议的局域网即时通信工具的设计与实现 5.1.3 删除好友模块 登陆系统界面过后,在主界面上则会显示用户分组情况以及好友的基本信息,如昵称、个性签名等,如果在用户的界面上出现了陌生人的信息,用户可以选择直接拉入黑名单,也可以选择直接删除。通过服务器的认证对此请求作出处理,若服务器通过则可以删除好友。下图是删除好友模块视图: 客户端通过服务器对客客请求删除服 已删除认证户的请求作户信息发送务 批准 好友 出处理 端 到服务器 器 5.2 用户登录获取信息模块 用户登录系统,进入主界面之后,除了在主界面上显示的信息外,还可以获取其他信息,可以通过在线搜索或者查找等功能获取用户想要的信息,此功能模块能够通过客户端到服务器的响应,快速便捷的查询到想要的信息,便于用户能够更好的运用该系统。下面是功能模块视图: 客服务显示系统客 户器反 查找 返回 基本主界户 端 应 信息 面 端 5.3 查找用户模块 客户登录后,按查找按钮后,开始向服务器发出查找请求,服务器读取数据库表中的请求信息并向客户返回其结果,客户收到后在查找窗口中显示,如果用户选择了一个好友,就向服务器发送添加好友请求,服务器收到后就向数据库表中添加好友的号码,并从表中读取其基本信息返回给客服端,然后客户收到并在主窗口显示该好友。并通过UDP通知该客户,对方收到该消息后,可以选择添加该用户为好友或者不。下面是流程视图: 17 第五章 系统详细设计与实现 服务客户客户端通服服务器处查找请客器处端查过UDP来务理请求的求发送 户理该找结添加好友器结果发送到服务端 信息 果页并将资料端 到客户端 器 面 送至数据 库 5.4 添加好友模块 在客户向服务器发送请求添加好友信息后,如果找到就返回用户服务信息,打开一个用户信息显示界面,该界面会提供一个“添加为好友”按钮,可以进行好友添加,则查找到好友的基本信息,如账号和昵称。如果是你所要添加的好友则点击添加,如不是则添加失败。 客请求添服务器返回允客户端客服 户加好友端认证许结果户则选择务 端 发送到基本信给客服添加或不器 服务器 息 端 添加 端 5.5 建群模块 根据用户的需要,在本系统中可以实现建群功能,用户注册以后群个数为0。用户在执行添加群操作以后,客户端分别将一个这个动作的信息发送给服务器。服务器端的表接受到这个请求,会进行数据库操作,将要添加的群消息插入到数据库中。如果成功,则返回这个群的消息给客服端,否则返回错误提示消息。以下是流程视图: 客请求建服务通过认证成客户端 户群信息器接数据功返回则可以 端 发送到受 库 给服务建群 服务器 器 18 基于TCP/UDP协议的局域网即时通信工具的设计与实现 5.6 即时聊天模块 5.6.1 文件传输模块 文件传输模块的功能主要有:(1)共享文件;(2)查看并下载文件。 (1)在启动文件传输服务器的共享文件功能之前,要设置它的IP号和端口,如果设置不好,好友将无法看到这些共享的文件,还有一个重要的步骤就是添加共享文件或目录,最后启动文件共享。(2)使用文件传输的客服端要正确配置好服务器的IP和端口号,以及下载好的文件的存放目录。如果其中之一配置不好,文件下载将会失败。设置好后,点击“连接”按钮,如果配置正确,这时将会看到服务器共享的文件。目前不能支持文件下载,当看到一个文件夹以后,可以双击该文件夹并查看文件夹里面的文件。下列视图说明:客户端向服务器发送文件传输请求,如果服务器端同意传输,就读取文件流并将数据流写到客户端。客户端读取到文件名之后,立即点击打开,则文件就会自动传输给对方。 客打开服创建服查读取文客户 户要传务务器监找件流发端接 端 听线程 输的器文送到客收文 文件 端 件 户端 件 第五章 系统详细设计与实现 5.6.2 语音聊天模块 当客户发送请求语音聊天给好友时,客户端正在接收请求并将此请求发送给服务器,服务求接收是否语音聊天,将请求结果返回给客户端,如果服务器端同意进行语音聊天,则客户与好友之间的聊天已经连接,如果服务器端拒绝进行语音聊天,则返回消息,好友拒绝接收语音聊天,连接失败。 客请求服服务器返回结能否进客 户语音务接收并果给客行语音户 端 聊天 器 处理 户端 聊天 端 19 第五章 系统详细设计与实现 结 束 语 即时通信是是网络发展的必然趋势,它的技术仍然在不断的改进和蓬勃发展中。本文主要讨论了基于TCP/UDP协议的局域网即时通信工具的设计与实现。课题通过采用基于java平台的Eclipse工具来设计并实现这一通信工具,本次设计虽然实现了简单的即时通信功能,但是从很多方面来说都是不完善的,仅仅只是实现了简单的即时聊天、好友添加等功能模块,是一个简单而粗略的系统。 在本次设计当中,学到了理论与实际相结合的能力,摆脱了单纯的理论知识学习状态,与实际研究的结合锻炼了我的综合运用所学的专业基础知识,解决实际问题的能力,同时也提高了我查阅文献资料的能力,而且通过这次的研究使我了解到做研究前的需求分析是十分必要的,以及对细节的斟酌处理,都使我的能力得到了提高,经验得到了丰富。通过对数据库系统一系列的了解和认识,在对于我课题中的设计与实现提供了很大的帮助,最初的不知如何下手,到现在的慢慢知道该如何去围绕题目执行操作,这短短的几十天的时间,自己一点点的累积成长到现在能够写出论文来,是个缓慢而又艰难的过程,通过对系统的研究,深知到做好甚至是设计并实现一个系统是非常困难的。虽然得到的结果自己不能说非常满意,但是也是精心努力的结果,这次的课题,让我自身感到所学甚少,可这些不足正是我们去更好的研究更好的创造的最大动力,只有发现问题面对问题才有可能解决问题,不足不会给我打击只会更好的鞭策我前行,今后我更加努力学习。 20 基于TCP/UDP协议的局域网即时通信工具的设计与实现 致 谢 本次毕业研究已经接近尾声,在此,我要感谢每一个帮助过我的人。 首先,要感谢学校,它给予了我一个良好的学习平台 其次,我要感谢,非常感谢我的导师王瑞胡老师。为人随和热情,治学严谨细心。在闲聊中他总是能像知心朋友一样鼓励你,在论文的写作和措辞等方面他也总会以“专业标准”严格要求你,从选题、定题开始,一直到最后论文的反复修改、润色,王老师始终认真负责地给予我深刻而细致地指导,帮助我开拓研究思路,精心点拨、热忱鼓励。正是王老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,谢谢王老师。 再次,我要感谢,非常感谢四年的大学生活,感谢我的家人和那些永远也不能忘记的朋友,他们的支持与情感,是我永远的财富。使我圆满完成了毕业论文研究。 最后我要衷心的祝愿老师同学们工作顺利、学业有成~ 21 第五章 系统详细设计与实现 参考文献 [1] 吴晓东.Java程序设计基础[M].北京.清华大学出版社,2002 王珊.萨师煊.数据库系统概论[M].北京.高等教育出版社,2006 [2] [3] 陈磊.TCP/IP详解[M].人民邮电出版社,1993.3 [4] Douglas E Comer , David L Stevens. Internet Working With TCP/ ?:Design , Implementation and Internal [M] . 张娟等译. 北IP Vol 京.电子工业出版社,1998 [5] Geoff Bennett.Designing TCP/IP Internetworks[M].王岚波等译.北京.电子工业出版社,1997 [6] 李鹏. 计算机通信技术及其程序设计[M] . 西安.西安电子科技大学出版社,1998 [7] 宋国龙.浅谈即时通信软件的开发技术[J].山西电子技术,2003 [8] 庞怡.许洪光.姜媛.即时通信工具现状及发展趋势分析[J].科技情报开发与经济,2006年03期 [9] 朱和平.TCP/IP协议下即时通信系统的研究[J].现代计算机,2003 [10] 王跃. INTERNET上大规模用户即时通信方法研究[D].北京.北京工业大学[硕士论文],2004 [11] 都沁萍.解析TCP/UDP协议及其异同[J].电脑知识与技术,2004年05期 [12] 程咏喜.蒋珉.基于TCP/IP协议的WINSOCK网络编程及应用[J]计算机时代,2004年07期 [13] 张健沛.数据库原理及应用系统开发[M].北京.中国水利水电出版社,1999 22
/
本文档为【基于TCPUDP协议的局域网即时通信工具的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索