基于远程方法调用的聊天室软件设计与实现—毕业论文(2)

2019-02-15 14:47

引言

现如今在网络上流行的实时聊天软件有QQ、微信、YY等聊天系统,我们只要记住自己朋友及对方的专属号码,不管在哪里,只要我们能上网,就可以通过这些聊天软件和相应的号码,呼叫他们进行实时的聊天。这些软件的工作模式多半是服务器/客户端(C/S)的。我们可以免费地在开发这些软件的公司网站上下载客户端程序,但是我们很难得到服务器端的程序。对于一些个人的网络,如果没有连接到互联网上,那么这些软件就将无用武之地,更不可能会有程序源代码。旨在于学习和了解这些软件的工作原理和结构,开始了关于这个课题的研究。 在当前的社会环境下,无论是工业方面、企业的管理方面、家庭办公方面以及各行业的多个维度,我们可以看到它们对远程聊天的需求,远程聊天系统的出现提高的工业生产的效率,改变了企业管理的模式,促进了现代家庭办公的出现,它在多方面的发挥的作用逐体现出来。网络的速度在越来越快的发展着,网络的技术也在一天天地更新着,远程家庭控制,远程网络授课、远程就医、远程办公等,这些都将成为主流。这些都为远程聊天软件提供了一片广阔的发展空间。 此次毕业设计通过利用网络通信技术实现了一组基于C/S架构的远程调用函数的聊天系统。所采用的开发技术是面向对象的技术,采用的语言是Java语言,开发平台是windows7,远程控制的模块采用的是服务器/客户机的开发模式,网络通信的部分用的是面向连接的传输控制协议(TCP)。 1 开发工具和环境 1.1简介

此次设计的基于RMI的远程聊天系统是一Java 为开发语言的。聊天工具的工作过程是启动服务器端的服务软件,然后启动客户端软件,这时服务器端和客户端就可以建立连接,那么在这个有效的远程连接下,客户端和服务器端就可以进行有效地通话,也是实现了本次设计的核心目的————远程聊天。在聊天执行的过程中,由于是公共的聊天室所以聊天的内容是被存储到聊天数据库里的,这些信息室可以再次查看的。远程的客户启动客户端程序后输入自己的名字信息点击连接就可以加入到聊天的队列中。

如今的远程控制类的软件有着较为广泛的应用范围,可以进行的工作业越来越多无论是办公,技术支持,维护管理,给人们提供的方便时越来越大。所以说

此次远程聊天软件的设计十分有意义。 1.2开发技术的介绍 1.2.1开发语言

Java作为一种开发语言的出现起到了计算机信息交换的里程碑式的影响。在单个计算机时代,计算机程序进程之间通过共享存储进行变量的交换;在网络发达的时代,运行在不同主机上的程序按照网络的通信协议进行无格式的信息狡猾;在Java时代,运行在网络上的程序进程进行交换的是小的应用程序。它是一个由一组属性和方法构成并且有可执行实体的对象。Java的出现带来了自PC出现的又一次技术革命。

作为一种开发语言,它以它的面向对象、简单、健壮、安全、结构性、可移植、多线程被大家所熟知。更重要的是它的跨平台的撰写特点。因此Java开发语言被广泛的应用于个人电脑的、游戏控制台、科学计算、互联网、数据中心、移动电话,同时Java的开发群体也是全球最大的。

Java本身也是一种分布式语言。Java语言支持Internet应用的开发,在最基本的Java应用编写的程序接口中有一个网络应用编程接口,给编程者提供了专门用于网络编程的类库,有serversocket、URL等等。

1.2.2开发技术

在这次的毕业设计中,主要用到了Java RMI、服务器/客户端架构、JavaIO等技术,mysql、TCP/IP。 (1)Java RMI介绍

RMI技术是Java的一组用于分布式应用程序开发的API.RMI应用序通常是有两个独立的程序,也就是我们常说的客户端程序和服务器端程序。服务器端程序会创建多个远程对象,使得这些对象能够被调用,客户端程序就可以调用远程方法。RMI为服务器端和客户端的通信传递提供了一种机制。因为RMI集成了Java序列化好Java远程方法协议,在这种情况下,就可以实现原来在同一操作系统调用的方法,变成了不同操作系统之间的方法调用。从Java1.1开始,作为分布式对象的核心的RMI技术成为了Java API之一。由于RMI的出现使得多台计算机上的Java应用之的通讯极大简化。与Java提供的比较灵活的Socket通信机制相比,由于socket需要在客户端和服务器端进行消息传递时对信息编码和解

码,这样会比较麻烦而且容易出错。RMI与RPC(Remote Procedure Call 远程过程调用)的区别:RPC把通信接口抽象到过程级别的调用,从而使编程人员不用关心底层的通信细节,但它不能很好地使用分布式对象系统。 RMI大致有如下的一些优点: (1)属性可移动

RMI可以将其属性完整地从客户端机器移动到服务器端,也可以将服务器移动到客户端 (2)面向对象

RMI可以实现将完整的 对象作为参数和返回进行传递,而不只是预定义的数据类型。

图1-1RMI框架结构图

1.2.3客户端/服务器端体系结构

聊天室工具应用的是C/S体系的结构设计,在这里简单介绍一下C/S体系结构以及它的优缺点。

C/S体系架构全称是客户端对服务器端,属于软件系统的结构,通过这种架构,它可以充分利用客户和服务器两端的硬件环境的优势,合理地将任务分配给客户端和服务器端,减少了系统进行通讯的开销。、C/S架构的软件一般多用在专用网络或者局域网上,而且由于面向的终端客户比较稳定,对信息的控制力很强.基于C/S架构的软件可以集中注意力在系统功能的实现、系统业务流程的流转,由于相对固定的用户群体,对系统的运行速度要求不是太高,这使得系统的架构和设计要求较少的系统高性能。C/S架构的软件有着较好的交互性,客户端

的显示层可以有多种实现方式,既可以是面向程序员的命令集界面,也可以是人性化风格的图形用户界面,让普通用户可以操作软件。广泛应用于Internet上的B/S架构拓展了传统的C/S概念和模式,类似于多层的C/S结构,是一种以web技术为基础的系统平台模式。把复杂的应用程序移动到了服务器上,使用户的代价大大减小。B/S结构的系统使用的是标准化的IE浏览器、Firefox浏览器、sogou、Google等浏览器作为客户的用户界面,对用户来说他们不需要知道数据的具体位置,只需要知道访问对象的网址就可以了,更适合现场人员以及诊断专家使用。

1.2.4 Java IO简介

Java的类库中提供了多种输入输出接口,有文件读写,设备的输入输出。在Java中IO是以流为基础来进行输入输出,所有输入、输出的数据都被串行化流的形式进行输入或者输出。如果Java程序需要从数据源读取数据的时候,就会建立一个能够传递数据源的数据流。数据流的形式也是多样,可以是文件,可以是内存,或者还可以是网络等等。同时,Java程序需要输出数据的时候,也会开启一个数据流,数据的接收端也可以是文件、网络等等。数据流的出现极大的方便了数据的输入输出。 1.2.5 MySql介绍

Mysql是一个典型的关系型数据库,它的工作方式是将数据保存在不同的表中,而不是说将数据放在一个大的数据仓库中,通过这样做,数据库的运行速度大大提高,运行的灵活性也得到提高。在访问数据库地也是用的SQL的标准化语言。在与其他大型数据库相比情况下,也有一些不足,但它的不足远远小于它的优势给人们带来的方便。也由于速度快,体积小,开源的缘故,它的受欢迎程度并没有因此而受到影响。对于一些小型网站或者小型企业来说,mysql足以满足他们的需要。

MySql作为普遍应用的数据库,它的优越性已经被大家看到,它是由C和C++两种编程语言来写的,用了多种编译器进行编译。优越的性能使它能够为多种编程语言提供API,它能够充分的应用CPU资源。在设计的时候mysql已经SQL的查询算法进行了优化,这大大提高了查询速度。Mysql既可以作为一个库应用到软件中,也可以做为单独的应用程序应用到C/S的网络环境当中。mysql能够

较好的支持多种语言,有TCP/IP、ODBC和JDBC等几种数据库连接途径。对大型数据库mysql仍然能够支持,并且提供优化数据操作,数据检查等功能。 1.2.6 TCP/IP

传输控制协议(TCP/IP),是一种规范网络上的的通讯设备的一套协议,特别是主机和主机之间的进行信息交换的数据格式和发送方式。在Internet上,它是基础协议,也是信息在网络上传递的一种打包和寻址标准方法,在数据传送过程中,我们可以比喻成为两个信封。我们把TCP和IP比喻成信封,我们要传递的信息被划分成若干个部分,在传递信息的时候计算机把每一部分被塞入一个TCP信封,并在该“信封”上标记上段号信息,如同信封上的信息,再将TCP塞入IP大信封发送到网上。接收端收到TCP信封时,按照形同的的相关协议拆开信封,取出数据,根据编号按发送前的顺序将信息还原,通过校验。它在Internet中几乎可以无差错的传递信息。 1.2.7TCP/IP主要的三个层面的功能 链路层

通常指的是操作系统中设备驱动程序和计算机中对应的网络接口卡。 网络层,

也称作互联网层,处理分组在网络中的活动。 运输层

为电脑上的应用程序提供点对点的通信。在TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议)。

1.3开发及软件测试环境

开发基于Java RMI架构的聊天室所用到的软硬件开发环境 1.3.1软件环境

Java运行环境、Java基础类库:JDK1.8.0和Java工具 操作系统平台:Microsoft windows7+MyEclipse14.4 数据库:mysql 1.3.2开发、测试硬件环境

操作系统:Microsoft Windows 7 旗舰版 (64位)


基于远程方法调用的聊天室软件设计与实现—毕业论文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:白龙江巴藏水电站施工组织设计 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: