`
shuofenglxy
  • 浏览: 194499 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MINA探究之IoSession

    博客分类:
  • MINA
阅读更多

IoSession其实在我看来就是一个用于handler和filter之间共享或是传递数据的一个对象。它是线程安全的。 作为数据共享,它存储了以下几种数据:

 

 IoService getService(); //其实就是connector或者acceptor

 

IoSessionConfig getConfig();//存放一些关于这个Session的配置信息,如buffer的大小,以及一些统计信息等。

 

IoFilterChain getFilterChain() //影响这个Session的IoFilter链   比如日志啊 对象序列化工厂,甚至自己配置的业务线程池等

 

 

 WriteRequestQueue getWriteRequestQueue(); //存放的是这个Session的写请求,每一个请求里面存放了要传递的消息内容,每一个请求的writeFuture、是否encode等信息。

 

 TransportMetadata getTransportMetadata();//存放了一些传输的元数据信息,这些元数据包括:服务名称,传输的是arp还是nio类型,是否支持底层协议(比如Ip)分段传送,传输的协议有没有状态等等。

 

还有其他的就是你通过一个属性map去设置一些自己的业务数据以及一些IoFuture的数据。

 

针对这些数据,可以具体看一下IoSession的实现类:AbstractIoSession,具体源码这里就不再列出。

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Mina入门:mina版之HelloWorld

    **Mina入门:Mina版之HelloWorld** Apache Mina是一个开源项目,它提供了一个高度模块化、高性能的网络通信框架。Mina旨在简化网络应用的开发,支持多种传输协议,如TCP、UDP、HTTP、FTP等。在这个“Mina入门:Mina...

    mina连接 mina心跳连接 mina断线重连

    Mina提供了一种事件驱动的模型,通过IoSession接口来管理连接,包括读写数据、添加监听器、关闭连接等操作。IoSession是连接状态的容器,包含了会话中的所有信息,如远程地址、本地地址、缓冲区大小、已发送和接收的...

    Mina框架入门介绍

    在Mina框架中,`IoSession`扮演着关键角色。IoSession代表了服务器和客户端之间的特定连接,包含了客户端的地址和端口信息,以及服务器的地址和端口信息。每个IoSession都是独立的,允许服务器区分不同客户端的请求...

    Mina开发之客户端

    《Mina开发之客户端详解》 Apache Mina(Minimum Asynchronous Network)是一个高度可扩展的、高性能的网络应用框架,主要用于构建服务器端的网络应用程序。它简化了网络编程的复杂性,提供了基于事件驱动和异步I/O...

    mina客户端简单代码示例

    2. **创建IoSession**:IoSession是Mina的核心概念,代表了客户端和服务器之间的会话。客户端需要初始化一个IoConnector来建立连接,并通过connect()方法创建IoSession。 3. **定义ProtocolCodecFilter**:为了进行...

    mina的高级使用,mina文件图片传送,mina发送文件,mina报文处理,mina发送xml和json

    Apache Mina是一个开源的网络通信应用框架,主要应用于Java平台,它为高性能、高可用性的网络应用程序提供了基础架构。在本文中,我们将深入探讨Mina的高级使用,特别是在文件图片传送、文件发送、XML和JSON报文处理...

    apache-mina-2.0.4.rar_apache mina_mina

    1. **Filter Chain**:Mina的核心设计模式之一是过滤器链。每个连接都有一系列过滤器,它们按照顺序处理入站和出站事件。过滤器可以实现特定功能,如数据编码解码、安全验证、性能监控等。 2. **Session**:Session...

    mina传输对象的示例

    3. **网络传输**: 过滤后的字节数组通过Mina的`IoSession`发送到远程端点。`IoSession.write(Object)`方法用于写入数据。 4. **对象反序列化**: 在接收端,数据经过反序列化过程,恢复为原始的Java对象。这同样需要`...

    Java springboot 整合mina 框架,nio通讯基础教程,mina框架基础教程.zip

    Mina的核心组件包括IoSession(会话),管理连接状态和传输数据;IoFilter(过滤器),用于数据的预处理和后处理;IoHandler(处理器),处理实际的业务逻辑。通过Mina,开发者可以快速构建出可扩展、高性能的网络...

    mina自定义编解码器详解

    **mina自定义编解码器详解** mina是一个Java开发的网络通信框架,广泛应用于TCP和UDP协议的服务器和客户端开发。在mina框架中,编解码器(Codec)扮演着至关重要的角色,它负责将应用层的数据转换为网络传输的字节...

    mina.zip内涵所有mina所需jar包

    Mina.jar可能包含了Mina的核心组件,如IoSession接口,IoFilterChain,以及各种I/O处理器等。此外,它可能还包含了支持不同协议(如TCP,UDP)的处理器,以及各种I/O事件的监听器。 在压缩包子文件的文件名称列表中...

    Mina断包,粘包处理(完整实例,有客户端,服务端)

    Mina中的IoSession对象是连接管理的核心,它维护了客户端和服务器之间的会话状态,包括收发数据的缓冲区、连接属性等。而Message对象则封装了实际传输的数据,可以通过IoSession进行发送和接收。 5. **事件驱动...

    apache-mina源码

    1. **IoSession**:IoSession是MINA中的核心组件,代表了服务端和客户端之间的连接。它包含了会话的状态信息,如输入和输出缓冲区、读写事件、连接和断开时间等。IoSession还提供了数据传输的方法,如write()用于...

    Mina开发之服务器

    Mina开发之服务器的代码,详情请查看:http://www.cnblogs.com/getherBlog/p/3937196.html Mina开发之客户端的代码,详情请查看:http://www.cnblogs.com/getherBlog/p/3937196.html

    java-mina通信框架详解.docx

    Apache Mina是一个强大的网络通信框架,专为基于TCP/IP和UDP/IP协议栈的应用设计。它提供了JAVA对象的序列化和虚拟机内部通信的功能,使得开发者能够迅速构建高性能、高可扩展性的网络应用。Mina的核心特性是其事件...

    spring boot 整合mina 串口

    **Spring Boot 整合Mina实现串口通信详解** 在Java开发中,有时我们需要与硬件设备进行串口通信,例如读取传感器数据或控制工业设备。Spring Boot作为一款轻量级的框架,使得快速构建应用变得简单。而Mina则是一款...

    mina源代码学习提供下载

    3. **事件驱动**:MINA的事件模型基于IoSession对象,当网络事件发生时(如连接建立、数据接收、连接关闭等),会触发相应的事件处理器。 4. **过滤器链**:MINA引入了过滤器的概念,数据在传输过程中会经过一系列...

    Mina 服务端客户端示例程序

    6. **会话管理**:Mina中的IoSession对象代表了服务端和客户端之间的连接会话,提供了管理连接状态、传输数据和配置会话属性的能力。 7. **数据传输**:在示例中,我们可以看到如何使用WriteFuture和ReadFuture来...

    mina-core-2.0.1.jar,apache-mina-2.0.1

    1. **IoSession**:MINA 中的核心概念,它代表了服务端与客户端之间的一个连接。IoSession 存储了连接状态,包括读写事件、缓冲区、过滤器链等信息。 2. **FilterChain**:MINA 使用过滤器链模型来处理网络通信中的...

    mina源码+例子mina-2.0.0-M6.zip

    1. **了解MINA架构**:熟悉MINA的IoSession、IoFilter、IoHandler等核心组件及其职责。 2. **分析源码**:通过阅读MINA的源码,了解其内部处理流程,如读写事件的处理、过滤器链的工作方式等。 3. **编写简单的应用*...

Global site tag (gtag.js) - Google Analytics