基于TCPUDP协议的局域网即时通信工具的设计与实现_第1页
基于TCPUDP协议的局域网即时通信工具的设计与实现_第2页
基于TCPUDP协议的局域网即时通信工具的设计与实现_第3页
基于TCPUDP协议的局域网即时通信工具的设计与实现_第4页
基于TCPUDP协议的局域网即时通信工具的设计与实现_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于TCP/UDP协议的局域网即时通信工具的设计与实现摘 要随着计算机网络技术的发展,各种各样基于网络的应用也随之诞生,比如基于互联网的信息发布,通信,数据共享等等。局域网的发展也同样迅速。很多政府机构,企业,学校,都是先以一个统一的局域网联结在一起,再分别接入INTERNET.因此基于局域网的即时通信工具,就这样应运而生了。随着信息技术的发展,即时通信(Instant Message)软件应运而生,即时通信工具让我们冲破了地域的界限,随时随地和各地的朋友沟通联系,它们已经成为新时代人们生活和工作中不可缺少的伙伴!即时通信(Instant Message),由于其具有实时性、跨平台行、成本低、

2、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信工具具有较强的现实意义。本文设计并实现了基于局域网的简单即时通信系统,系统采用C/S模式,底层通信公告SOCKET套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和消息的发送。客户端采用点对点方式实现消息传递,并能实现文件的传输。本系统基于JAVA,使用Eclipse等作为开发工具完成即时通信系统的设计。关键词:局域网 即时通信 文件传输 TCP协议 UDP协议 The Design and Implementation of Simple Instant Message Software Based

3、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

4、 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 possib

5、le 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

6、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.

7、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目 录摘 要1The Design and Implementation of Simple Instant Message Software Based on TCP/UDP Protoc

8、ol2第一章 绪论41.1 研究背景及研究意义41.2 即时通信的基本知识51.3 TCP与UDP的相关知识6第二章 相关工具及技术介绍72.1 系统开发环境72.2 系统开发所用工具82.2.1 Eclipse的简介及运用82.2.2 Java的简介及运用8第三章 系统需求分析与总体设计93.1 即时通信工具需求分析93.2 性能分析103.3 系统设计的目标103.4 系统功能模块设计11第四章 数据库设计114.1 数据库的基本概念114.2 概念结构设计124.3 逻辑结构设计144.4 物理结构设计15第五章 系统详细设计与实现165.1 用户管理165.1.1 新建用户模块165.

9、1.2 登录模块165.1.3 删除好友模块175.2 用户登录获取信息模块175.3 查找用户模块175.4 添加好友模块185.5 建群模块185.6 即时聊天模块195.6.1 文件传输模块195.6.2 语音聊天模块19结 束 语20致 谢21参考文献22第一章 绪论在网络飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各方面发挥着重要的作用。互联网上存在大量的信息,人与人之间的沟通、信息交换显得尤为重要。人们一直在寻找一种方便、低廉的交流信息工具,因此网上聊天便成为人们的首先,而一个好的的即时通信工具是操作简单、方便,界面美观大方、人性化、

10、节约系统资源。一个好的即时通信工具不仅仅是方便了人们的生活,同时也给企业带来了商业利益,很多事情都可以通过进行聊天而解决、通过服务器的消息传输让用户能够很快的获取信息,节约了时间也创造了更多的利益。1.1 研究背景及研究意义 随着社会经济技术的发展,即时通信在全球的应用越来越广泛,从以前最开始的简单通信到现在视频聊天、查资料、看电视等功能的应用,即时通信已经成为人们生活当中必不可少的一部分,即时通信不仅仅应用到生活当中,影响着人们的一切,而且现在也应用到各个领域影响着整个世界。随着网络技术的发展,即时通信正在成为在线活动中不可或缺的业务,即时通信软件不仅仅只限于用户间的聊天活动,运营商已经开始

11、利用即时通信平台不断地进行业务的扩张和整合,充分的运用到整个企业,整个社会当中,而即时通信软件的诞生也给企业的管理带来了新的思路和手段,推动了企业工作效率的提高,降低了办公费用,引起了工程应用领域的研究热潮。即时通信的实时交互、低廉资费、方便快捷让其成为继电话、邮件等通讯工具之后的又一个充分融入现代企业沟通的互联网工具。但是任何事务在发展的同时也必然会带来各方面的问题,比如最常见的安全问题,即时通信的优点就是能够实时交互,马上能够知道对方的一切,然而这样也很容易照成安全隐患问题,一旦没有做好加密、防火墙工作,数据、资料等就很很容易遭到泄露,被恶意篡改、窃听,从而导致对方收到的信息是错误的,这样

12、也会给工作、生活等方面带来困难。 所以当前,研究网络即时通信系统是当今网络编程方面的一个热门课题。即时通信正成为在线活动中不可或缺的业务。小至个人、企业大至国家、世界,演化着即时通信的飞速变化,日益改变丰富着人们的生活。而在经济技术日益发展的情况下,对即时通信的需求也越来越迫切,所以在此前提下,就急需一种两全其美的解决方案。 1.2 即时通信的基本知识随着信息技术的发展,即时通信(IM)软件应运而生,即时通信工具让我们冲破了地域的界限,随时随地和各地的朋友沟通联系,它们已经成为新时代人们生活和工作中不可缺少的伙伴!即时通信(IM)是指能够即时发送和接收互联网消息等的业务。1998年即时通信的功

13、能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。随着移动互联网的发展,互联网即时通信也在向移动化扩张。目前,微软、AOL、Yahoo等重要即时通信提供商都提供通过手机接入互联网即时通信的业务,用户可以通过手机与其他已经安装了相应客户端软件的手机或电脑收发消息。即时通信是一个基于局域网平台而设计的系统,其开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。前者要求建立起数据一致性、完整性、安全性高的库,后者则要求应用程序功能完备,

14、能够题供前台顺利运行,易使用等特点。即时通信具有:管理员设置客户端的单位组织结构信息;客户端不需自行添加联系人;联系人之间能够发送消息;联系人之间能够互相传送文件;管理员能够建立现了人分组,加入分组后的联系人允许互相通信;分组成员之间可以群发消息等功能。1.3 TCP与UDP的相关知识Java网络编程中有两种不同的通讯协议,分别是TCP(面向连接)与UDP(面向无连接),两种协议各有优缺点。TCP:是Tranfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立

15、连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。 UDP:是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过

16、面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。第二章 相关工具及技术介绍2.1 系统开发环境由于日趋发展的信息技术,对通信工具的要求也逐渐提高,而快速的成长当中带来的影响也是深远的,那么如何在这样

17、的环境下设计一个安全系数高、方便快捷的通信工具呢,这就是本系统所要解决的问题。实现局域网用户之间的即时交流与文件传输,建立网络即时通信安全机制,保证信息传送的及时性和安全性。本系统采用基于java平台的Eclipse工具来设计并实现这一通信工具的设计与实现。2.2 系统开发所用工具2.2.1 Eclipse的简介及运用Eclipse是一种基于 Java 的可扩展开源开发平台。就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括为人熟知的 Java 开发工具(Java Development Tools,JDT)。虽然大多数

18、用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它

19、的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。更舒服的是,利用Eclipse中的MyEclipse插件来搭建一个动态JSP程序,快速,简单、方便。2.2.2 Java的简介及运用技术上采用sun公司的java语言,该语言有很多有点,比如多线程、网络流概念、异常捕获处理、安全性以及速度与性能等方面,并且具有可以一次编写、到处运行的跨平台优点。多线程:多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互

20、相独立,线程又称为轻量级进程,多线程技术允许你在一个应用程序中启动多个执行轻量程序,使多段程序同时竞争CPU资源,从而提高系统效率。而对于网络通讯工具来说,多线程的特性是必须的,不仅是为了效率,而且可以实现同时处理多个请求。网络流:java中的网络通讯以及文件的读取都是以一种流的概念来理解的,这样,网络上数据的传输其实就等同于看成一台机器上文件的读取,有利于理解与编写运用程序,java类库中提供了丰富的IO流类资源以及网络编程类资源,软件开发人员可以很方便的编写网络应用程序。例外处理:Java通过面向对象的方法来处理例外。在一个方法的运行过程中,如果发生了例外,则这个方法生成代表该例外的一个对

21、象,并把它交给运行时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把它提交给运行时系统的过程称为抛弃(throw)一个例外。运行时系统在方法的调用栈中查找,从生成例外的方法开始进行回朔,直到找到包含相应例外处理的方法为止,这一个过程称为捕获(catch)一个例外。所以,java的例外处理使非常方便的。跨平台:Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟

22、机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。第三章 系统需求分析与总体设计3.1 即时通信工具需求分析伴随着当今互联网的迅速发展,人们之间的信息交互的实时性能变得越来越重要,传统的电子邮件交互已经不能够满足人们的即时通讯要求,鉴于此种情况打算开发出一款类似于腾讯QQ的即时通讯软件,只要经过注册你便可以获取一个帐号,通过该帐号你可以在客户端登陆,成功登录后便可以在互联网上与你的亲朋好友进行畅谈,由于技术和时间问题,该软件主要提供私聊

23、、群聊、好友管理、群管理等常用功能,其它一些功能比如文件传输、语音聊天和视频聊天等功能,由于技术问题暂时没有实现,可以在该系统的基础上实现这些功能,也可以在此基础上进行更多功能的扩展。3.2 性能分析作为一个简单安全的沟通通信平台,安全及时通信系统需要保证数据通信的即时性以及通信过程和信息存储的安全性,为使用者提供信息安全保证,同时减少系统资源的消耗,保证系统运行的速率。 1.数据通信完整和可靠性:即时通信亦即用户间能实时发送和接收各种信息,包括文本通信和文件传输,其中保证数据的可到达性,保证数据解读的正确性,防止数据丢失和数据错位,从而保证消息传达的可靠性。 2.通信安全性:通信安全是指保证

24、客户之间传送消息和文件的安全,防止数据在传输过程中遭泄密、窃密或被篡改数据。 3.通信效率和公平性:这主要体现在服务器端。服务器需要同时处理所有用户发送的各类信息,并且需要完成数据库存储、读取、更新等操作。需要采用适当的方法提高服务器接受、解读、处理和发送数据的效率,在指定时间呃逆完成需要的通信量,提高系统的即时通信性能,通信保证数据处理的公平性,保证各客服端的信息能够被及时响应和处理。 4.系统可控性:系统可控性是指系统运行期间完成数据存储、数据库备份、系统故障恢复等任务的性能,包括用户注册管理、登陆管理、客户端运行过程中监控等模块的设计。防止重要数据的丢失或被篡改,提高系统的运行可靠性,增

25、强系统使用者的信心。 5.系统稳定性能:系统稳定性包括系统在高通信强度下是否能够正常、及时低处理各客服端的请求和信息,系统在长时间工作状态下是否会出现异常以及系统容错性能等。防止系统崩溃和程序退出,同时降低程序运行中CPU等资源的消耗。3.3 系统设计的目标 本课题目标是实现局域网用户之间的即时交流与文件传输等,通过基础的网络SOCKET编程,为局域网内部的即时通信提供一个简单而较安全的解决方案。3.4 系统功能模块设计该系统主要包括三层,客户端,服务器端,以及数据库服务器,客户端用来提供用户的登录,服务器端用来对登录的用户进行管理以及用来处理信息之间的转发,数据库服务器主要存放一些重要的信息

26、。它们之间的关系如下图所示:客户端服务器数据库服务器根据上述需求的描述,对该系统按照功能进行了模块的细化,主要包括注册登录、好友聊天、好友组管理、群聊天4个模块,还有很多其它小模块,这4个模块是实现该系统的核心模块,模块之间的耦合程度非常低,其中注册模块是通过B/S结构来实现,不需要安装客户端。下图是上述的4个重要模块的用例交互图。第四章 数据库设计4.1 数据库的基本概念数据库技术是数据管理的最新技术,是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一。它已成为各行各业存储数据、管理信息、共享资源的最先进最常用的技术。数据库,简单地说就是数据的仓库,即数据存放的地方。数据库系统(d

27、atabase systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。数据库系统DBS(Data Base System,简称DBS)是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责

28、创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。4.2 概念结构设计概念结构设计就是对信息世界进行建模,常用的概念模型是E-R模型,它是P.P.S.Chen于1976年提出来的。概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。而这样做有三个好处:(1)从逻辑设计中分离出概念设计以后,各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。(2)概念模型不受特定的DBMS的限制,也独立于存储

29、安排和效率方面的考虑,因而比逻辑模型更为稳定。(3)概念模型不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而更有可能准确反映用户的信息需求。概念模型在数据库的各级模型中的地位如图所示:应用1 应用1 应用2 应用3外模式3外模式2应用要求外模式1 映像概念模 式应用2 应用要求 概念模式 映像应用3 转换物理模式综合应用要求 (a) (b) 概念结构设计的特点(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。(3)易于更

30、改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换。概念结构设计的方法:设计概念结构的E-R模型可采用以下四种方法(1)自顶向下:首先定义全局概念结构的框架,然后逐步细化(2)自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构(3)逐步扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构(4)混合策略:将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。概念结构设计的步骤:以自底向上设计方法为例进

31、行数据抽象,设计局部E-R模型,即设计用户试图。集成格局部E-R模型,形成全局E-R模型,即视图集成。以局部E-R模型设计为例:数据抽象后得到了实体和属性,实际上实体和属性是相对而言的,往往要根据实际情况进行必要的调整。在调整中要遵循以下两条原则。实体具有描述信息,而属性没有。即属性必须是不可分的数据项,不能再由另一些属性组成。属性不能与其他实体具有联系,联系只能发生在实体之间。而根据本课题来看,通信工具的设计则在概念结构设计中能够体现出来,用户是一个实体,账号、昵称、性别、年龄、等级等是用户实体的属性。这时,等级只表示用户属于那个级别,不涉及具体情况,换句话说,没有需要进一步描述的特性,即是

32、不可分的数据项,则根据原则1可以作为用户实体的属性。用 户 账号 等级年龄昵称性别 属于 等级学 生 好友人数级别年龄性别昵称账号 4.3 逻辑结构设计1. 概念结构设计阶段得到的E-R模型是用户的模型,它独立于任何一种数据模型,独立于任何一个具体的DBMS。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。设计逻辑结构时一般要分三步进行: 将概念结构转换为一般的关系、网状、层次模型,并将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换 对数据模型进行优化一般的逻辑结构设计分为以下三步:1.初始关系模式设计;2.关系模式规范化;3.模式的评价与

33、改进。2. 设计外模式: 前面我们根据用户需求设计了局部应用视图,这种局部应用视图只是概念模型,用E-R图表示。在我们将概念模型转换为逻辑模型后,即生成了整个应用系统的模式后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图概念,支持用户的虚拟视图。我们可以利用这一功能设计更符合局部用户需要的用户外模式。定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模式是独立的,因此我们在定义用户外模式时应该更注重考虑用户的习惯与方便。包括:使用更符合用户习惯的别名针对不同级别的用户定义不同的外模式,以满足系统对安全性

34、的要求简化用户对系统的使用4.4 物理结构设计数据库最终要存储在物理设备上。对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构的过程,称为数据库物理结构设计。物理结构设计的任务是为了有效地实现逻辑模式,确定所采取的存储策略。此阶段是以逻辑设计的结构作为输入,结合具体DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。数据库的物理结构设计可分为两步:1.确定物理结构。2.评价物理结构,评价的重点是时间和空间效率。1.确定物理结构(1)确定数据库的存储结构(2)设计数据库的存取路径(3)确定数据的存放位置(4)确定系统配置2.评价物理结构和前面几个设计阶段一样,

35、在确定了数据库的物理结构之后,要进行评价,评价重点是时间和空间的效率,如果评价结果满足设计要求,则可进行数据库实施。实际上,往往需要经过反复测试才能优化数据库物理结构。第五章 系统详细设计与实现5.1 用户管理5.1.1 新建用户模块注册模块是整个系统最基础的模块,当服务器收到用户的注册请求,便开始接受客户传递的消息,诸如客户的昵称、性别、籍贯、头像、个人资料等。便通过与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回起申请号码,客户收到服务器返回的信息后,便打开主程序窗口。程序流程图:客户端主界面信息处理服务器 端填写信息注册页面点击注 册客户端登录 框 通过此模块可以实现密码的

36、找回、密码的修改以及个人信息的查询。5.1.2 登录模块该模块主要给注册成功的用户提供一个登录界面,用户根据自己注册的帐号信息可以与服务器交互,如果提供的信息通过服务器的验证便可以成功的登录系统,成功登录系统之后,可以进行一些操作,比如和好友聊天等,使用该模块之前必须安装一个客户端。登录模块只是一个简单的页面,主要填写用户名、密码之类的信息,登录成功后的主界面包含了系统的大部分功能,比如添加和删除好友、添加和删除好友分组、和朋友聊天等功能。下图是登录模块的用例图:客户端主界面或者提示错误并进入登陆界面客户端服务器对客户信息处理结果服务器端填写信息发送到服务器客户端 5.1.3 删除好友模块登陆

37、系统界面过后,在主界面上则会显示用户分组情况以及好友的基本信息,如昵称、个性签名等,如果在用户的界面上出现了陌生人的信息,用户可以选择直接拉入黑名单,也可以选择直接删除。通过服务器的认证对此请求作出处理,若服务器通过则可以删除好友。下图是删除好友模块视图:客户端已删除好友通过认证批准服务器对客户的请求作出处理服务器请求删除信息发送到服务器客户端 5.2 用户登录获取信息模块用户登录系统,进入主界面之后,除了在主界面上显示的信息外,还可以获取其他信息,可以通过在线搜索或者查找等功能获取用户想要的信息,此功能模块能够通过客户端到服务器的响应,快速便捷的查询到想要的信息,便于用户能够更好的运用该系统

38、。下面是功能模块视图:客户端服务器反应显示基本信息系统主界面客户端 查找 返回 5.3 查找用户模块客户登录后,按查找按钮后,开始向服务器发出查找请求,服务器读取数据库表中的请求信息并向客户返回其结果,客户收到后在查找窗口中显示,如果用户选择了一个好友,就向服务器发送添加好友请求,服务器收到后就向数据库表中添加好友的号码,并从表中读取其基本信息返回给客服端,然后客户收到并在主窗口显示该好友。并通过UDP通知该客户,对方收到该消息后,可以选择添加该用户为好友或者不。下面是流程视图:服务器处理该信息客户端通过UDP来添加好友并将资料送至数据库客户端客户端查找结果页面服务器处理请求的结果发送到客户端

39、服务器端查找请求发送到服务器 5.4 添加好友模块在客户向服务器发送请求添加好友信息后,如果找到就返回用户服务信息,打开一个用户信息显示界面,该界面会提供一个“添加为好友”按钮,可以进行好友添加,则查找到好友的基本信息,如账号和昵称。如果是你所要添加的好友则点击添加,如不是则添加失败。客户端客户则选择添加或不添加返回允许结果给客服端服务器端认证基本信息服务器端客户端请求添加好友发送到服务器5.5 建群模块根据用户的需要,在本系统中可以实现建群功能,用户注册以后群个数为0。用户在执行添加群操作以后,客户端分别将一个这个动作的信息发送给服务器。服务器端的表接受到这个请求,会进行数据库操作,将要添加

40、的群消息插入到数据库中。如果成功,则返回这个群的消息给客服端,否则返回错误提示消息。以下是流程视图:客户端则可以建群认证成功返回给服务器通过数据库服务器接受客户端请求建群信息发送到服务器 5.6 即时聊天模块5.6.1 文件传输模块文件传输模块的功能主要有:(1)共享文件;(2)查看并下载文件。(1)在启动文件传输服务器的共享文件功能之前,要设置它的IP号和端口,如果设置不好,好友将无法看到这些共享的文件,还有一个重要的步骤就是添加共享文件或目录,最后启动文件共享。(2)使用文件传输的客服端要正确配置好服务器的IP和端口号,以及下载好的文件的存放目录。如果其中之一配置不好,文件下载将会失败。设

41、置好后,点击“连接”按钮,如果配置正确,这时将会看到服务器共享的文件。目前不能支持文件下载,当看到一个文件夹以后,可以双击该文件夹并查看文件夹里面的文件。下列视图说明:客户端向服务器发送文件传输请求,如果服务器端同意传输,就读取文件流并将数据流写到客户端。客户端读取到文件名之后,立即点击打开,则文件就会自动传输给对方。客户端接收文件读取文件流发送到客户端查找文件创建服务器监听线程服务器端打开要传输的文件客户端 第五章 系统详细设计与实现5.6.2 语音聊天模块当客户发送请求语音聊天给好友时,客户端正在接收请求并将此请求发送给服务器,服务求接收是否语音聊天,将请求结果返回给客户端,如果服务器端同意进行语音聊天,则客户与好友之间的聊天已经连接,如果服务器端拒绝进行语音聊天,则返回消息,好友拒绝接收语音聊天,连接失败。客户端能否进行语音聊天返回结果给客户端服务器接收并处理服务器请求语音聊天客户端 结 束 语即时通信是是网络发展的必然趋势,它的技术仍然在不断的改进和蓬勃发展中。本文主要讨论了基于TCP/UDP协议的局域网即时通信工具的设计与实现。课题通过采用基于java平台的Eclipse工具来设计并实现这一通信工具,本次设计虽然实现了简单的即时通信功能,但是从很多方面来说都是不完善的,仅仅只是实现了简单的即时聊天、好友添加等功能模块,是一个简单而粗略的系统。在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论