河南师范大学计算机科学与技术专业本科毕业论文

上传人:cl****1 文档编号:493850206 上传时间:2022-08-01 格式:DOC 页数:23 大小:289.50KB
返回 下载 相关 举报
河南师范大学计算机科学与技术专业本科毕业论文_第1页
第1页 / 共23页
河南师范大学计算机科学与技术专业本科毕业论文_第2页
第2页 / 共23页
河南师范大学计算机科学与技术专业本科毕业论文_第3页
第3页 / 共23页
河南师范大学计算机科学与技术专业本科毕业论文_第4页
第4页 / 共23页
河南师范大学计算机科学与技术专业本科毕业论文_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《河南师范大学计算机科学与技术专业本科毕业论文》由会员分享,可在线阅读,更多相关《河南师范大学计算机科学与技术专业本科毕业论文(23页珍藏版)》请在金锄头文库上搜索。

1、河南师范大学本科毕业论文 学号: 0928524059基于Mina框架的Java通讯层应用学院名称: 软件学院 专业名称: 计算机科学与技术 年级班别: 2009级Java班 姓 名: 指导教师: 教授 2013年05月河南师范大学本科毕业设计基于Mina框架的Java通讯层应用 摘 要 Apache Mina Server是一个网络通信应用框架,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的

2、是JAVA NIO 作为底层支持)操作的编程模型。随着网络通信的不断增加,用户对于服务器通讯层的要求也越来越高。如何提高服务器端程序的性能,如何使用一种高效的I/O底层,从而更容易地开发出高性能的网络应用程序,成为近年来通讯层研究的主要课题。通过对比,基于Mhm(Minimum hardware modificatio)框架的通讯层具有实现简单,性能高效的特点,是Java通讯层应用的推荐框架.关键词 Mina;Java; Mhm;IO;NIO;Socket;ServerSocket; TCP/IP; IoAcceptor ;IoConnector; BufferedReader;Buffer;

3、Charset;Channels;Selector;J2EE;MyEclipse;Enterprise ;JavaBeans; MinaServeBased on the the Mina Framework of Java Communication Layer ApplicationsAbstract Apache Mina Server is a network communication application framework, it is primarily a communication framework based on TCP / IP, UDP / IP protoco

4、l stack (of course, also can provide Java object serialization, the virtual machine pipe communication services), Mina canhelp us to quickly develop high-performance, highly scalable network communications applications, Mina provides event-driven, asynchronous (asynchronous IO Minas default is to us

5、e programming model the Java NIO as the underlying support) operation. With the continuous increase in network traffic, users are increasingly high requirements for the server communication layer. Therefore, how to improve the performance of the server-side program, how to use a highly efficient I /

6、 O low-level, making it easier to develop a high-performance network applications become the main topic of the communication layer in recent years. Mhm (Minimum hardware modification ) framework-based communication layer has a simple, efficient performance, by contrast, is the the Java communication

7、 layer applications recommended framework.Keywords Mina;Java; Mhm;IO;NIO;Socket;ServerSocket; TCP/IP; IoAcceptor ;IoConnector; BufferedReader;Buffer;Charset;Channels;Selector;J2EE;MyEclipse;Enterprise ;JavaBeans; MinaServe。目 录前 言31运用socket实现通信的方式与关键技术31.1 通过JAVA的Socket阻塞方式实现通信3 1.1.1 阻塞通信的服务器端41.1.2

8、 阻塞通信的客户端41.2 通过JAVA的Socket非阻塞方式实现通信41.3 TCP/IP协议41.3.1 Tcp、Ip协议的特点41.3.2 Tcp/Ip数据的传输过程41.3.3 端口号51.4 MINA 架构剖析52.nio和io的区别和比较62.1回顾IO62.2 NIO的介绍和新I/O92.2.1介绍NIO92.2.2 新I/O93.程序设计与编码103.1开发平台与工具103.1.1 J2EE平台10 3.1.2 集成环境113.2具体代码实现步骤113.2.1下载使用的Jar包113.2.2工程创建配置113.2.3.服务端程序123.2.4.客户端程序164.系统说明书18

9、4.1开发环境及工具184.2本聊天室包括服务器和客户端两个部分:194.3具体的使用说明如下:19参考文献20致 谢21前 言 自进入21世纪以来,网络发展异常迅速,电脑走进了普通人的家中,成了我们生活中不可缺少的一部分,随着用户的激增,网络通信的不断增加,用户对于服务器通讯层的要求也越来越高,给现在的服务器端的正常运行带来了很大的压力。因此,如何提高服务器端程序的性能,如何使用一种高效的I/O底层,从而更容易地开发出高性能的网络通信程序,成为近年来通讯层研究的主要课题。本论文通过JAVA的Socket非阻塞方式实现了一个局域网的通信。目前Java构建的网络应用程序框架有多种,较为流行的框架

10、有Grizzly、Netty、QuickServer、xSocket、Mina等,通过对比,基于Mina框架的通讯层具有实现简单,性能高效的特点1,是Java通讯层应用的推荐框架。1运用socket实现通信的方式与关键技术1.1 通过JAVA的Socket非阻塞方式实现通信2 非阻塞式通讯是指可以将通信操作交给特定的通信硬件去完成,而无需等到其完全完成便可以返回。在该通信硬件进行通信操作时,处理机可以同步进行计算操作,实现了计算与通信的重叠,从而提高整个程序的执行效率。但缺点是不易实现。1.2 通过JAVA的Socket阻塞方式实现通信 阻塞式通讯是指在每建立一个Socket连接的同时,创建一

11、个新线程对该Socket避行单独通信34。这种方式编码简单,实现容易,对一定数量的连接性能比较好。但是如果客户端上限很大的情况下,就不能得到及时的响应,且对系统资源是一种浪费。1.2.1 阻塞通信的服务器端服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。1.2.2 阻塞通信的客户端客户端,使用socket通信对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket

12、。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。1.3 TCP/IP协议1.3.1 Tcp、Ip协议的特点 TCP/IP(Transmission Control Protocol/Internet Protocol)协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族。从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、应用层5。 图一: TCP/IP四层协议的表示方法举例IP协议的作用:第一,它是网络层的协议,提供互联网上数据传输的统一格式。第二,提供不可靠的无连接的服务。第三,定义了互联网上的传输数据的基本单元,

13、提供了供路由选择的信息,没有差错校验和处理的机制。 TCP协议的功能:差错控制可靠性、面向连接、分段(Segment)、端口号。TCP是传输控制协议,是面向连接的提供了一种可靠的传输服务,它用三次握手和滑动窗口机制来保证传输的可靠性,及进行流量控制。1.3.2 Tcp/Ip数据的传输过程 当你把要传送的数据传递给TCP后,TCP把这些信息分成很多个数据包(这种数据包称为TCP分组),每一个分组都包含有一个序号。 接着TCP分组被传递给IP层,IP层把这个TCP分组放在一个IP数据包的数据部分。然后,这个IP数据包被传到目的主机。目的主机上的IP层,把IP数据包的数据部分(即TCP分组)传递给T

14、CP层。TCP接收到分组后,检查数据包的正确性,如果不正确,通知源计算机重新送该IP包。利用分组的序号来将数据按照原来的顺序排列,然后送给应用层。1.3.3 端口号 逻辑意义上的端口,一般是指TCP/IP协议中的端口6,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。 服务器一般都是通过知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的11023之间的端口号。这

15、些知名端口号由Internet号分配机构(Internet Assigned Numbers Authority,IANA)来管理。 1.4 MINA 架构剖析 MINA (Multipurpose Infrastructure for Network Applications)是Apache 软件组织开发的一种作为基于NIO的一个多功能网络应用程序框架,使用Java 技术实现,可以帮助用户快速构建稳定、高性能的网络应用程序。该框架的主要特点有:基于Java NIO设计。巧妙地采用松耦合架构;可灵活地加载过滤器机制;单元测试更容易实现;可自定义线程的数量,以提高运行于多处理器上的性能 采用回调的方式完成调用线程的使用更容易7。通过Java 异步输入输出(NIO)8技术,可以方便的支持TCP/UDP 协议;灵活、可配置的线程模型,这对于网络通信

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

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号