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

mina的iohandler事件

 
阅读更多

简介

转载:http://picasso-di.iteye.com/blog/657174

Handler用来处理MINA触发的I/O事件。IoHandler是一个核心接口,它定义了Filter链末端需要的所有行为。IoHandler接口包含以下方法:

  • sessionCreated
  • sessionOpened
  • sessionClosed
  • sessionIdle
  • exceptionCaught
  • messageReceived
  • messageSent

sessionCreated事件

一个新的connection被创建时,会触发SessionCreated事件。对于TCP来说,这个事件代表连接的建立;对于UDP来说,它代表收到了一个UDP数据包。这个方法可以用作初始化session的各种属性,也可以用来在一个新建的connection上触发一些一次性的行为。

I/O processor线程会调用这个方法,所以在实现该方法时,只加入一些耗时较少的操作,因为I/O processor线程是用来处理多会话的。

 

sessionOpened事件

当一个connection打开时会触发sessionOpened事件,这个事件永远在sessionCreated之后触发。如果配置了线程模式,那么这个方法会被非I/O processor线程调用。

 

sessionClosed事件

当一个session关闭的时候会触发sessionClosed事件。可以将session的清理操作放在这个方法里进行。

 

sessionIdle事件

当一个session空闲的时候会触发sessionIdle事件。当使用UDP时该方法将不会被调用。

 

exceptionCaught事件

当用户代码或MINA框架抛出异常时,会触发事件事件。如果该异常是一个IOException,那么connection会被关闭。

 

messageReceived事件

当接收到消息的时候会触发messageReceived事件。所有的业务处理代码应该写在这里,但要留心你所要的消息类型。

 

messageSent事件

当消息已被远端接收到的时候,会触发messageSent事件(调用IoSession.write()发送消息)。

分享到:
评论

相关推荐

    深入理解Apache Mina (3)---- 与IoHandler相关的几个类

    NULL 博文链接:https://chinaestone.iteye.com/blog/424576

    apache-mina-2.0.4.rar_apache mina_mina

    3. **IoHandler**:IoHandler是处理网络事件的主要接口,如连接建立、数据接收、连接关闭等。你可以实现这个接口来定义你的业务逻辑。 4. **ProtocolCodec**:为了处理不同协议的数据编码和解码,Mina提供了...

    mina的Android端全套jar

    Mina采用事件驱动模型,当网络事件发生时(如连接建立、数据读写、断开连接等),会触发对应的IoHandler事件方法。开发者只需实现这些方法,即可实现自定义的业务逻辑。 6. **性能优化** Mina的非阻塞I/O特性使其...

    mina即时聊天demo

    Mina基于事件驱动模型,通过I/O事件处理器(IoHandler)来处理各种网络事件,如连接建立、数据读取、数据写入和断开连接等。开发者需要实现IoHandler接口,定义相应事件的处理方法。 4. **mina核心组件** - **...

    Mina客户端服务器Demo

    - **事件处理**:Mina使用事件驱动模型,如`messageReceived()`、`sessionCreated()`、`sessionClosed()`等方法会在相应事件发生时被调用,开发者可以在这些方法中编写业务逻辑。 通过学习这个**Mina客户端服务器...

    mina 服务器简介,个人感觉不错

    Mina基于事件驱动模型,通信过程中的各种状态变化(如连接建立、数据收发、连接关闭、空闲检测等)都会触发相应的事件。这些事件包括:sessionCreated(连接创建)、sessionOpened(连接打开)、messageReceived...

    MINA—TCP案例

    MINA(Java Multicast Network Application Programming Interface)是一个高性能、异步事件驱动的网络应用程序框架,主要用于简化开发服务器端和客户端的TCP、UDP以及SSL/TLS协议应用。在本案例中,我们将聚焦于...

    mina2资料-各种教程

    IoHandler是处理网络事件的核心接口,它定义了接收到数据、连接建立、连接关闭等事件时需要执行的方法。IoFilter则是一个过滤器链,允许在数据传输到IoHandler之前对其进行预处理或在之后进行后处理。通过IoFilter,...

    minaDemo的实例

    此外,MINA支持事件驱动模型,通过`IoEventType`枚举定义了各种事件类型,如`SESSION_CREATED`、`MESSAGE_RECEIVED`等。开发者可以通过注册事件监听器来响应这些事件,实现更复杂的逻辑。 总之,"MinaDemo"是一个...

    Mina官方教程_中文版.rar

    Mina采用事件驱动模型,当网络事件发生时,如数据接收、连接建立或关闭等,都会触发相应的事件处理器。开发者可以通过实现IoHandler接口来定义这些事件的处理逻辑。 四、Mina的开发步骤 1. 创建IoAcceptor或...

    TestMINA.zip_DEMO_Mina框架_java mina_mina_mina java

    例如,`IoSession`接口用于管理客户端和服务器之间的会话,`IoHandler`接口处理网络事件,`Buffer`类用于读写数据。 6. **性能优化**:MINA 针对Java NIO进行了优化,提供了内存池、零拷贝等技术,进一步提升了性能...

    mina学习笔记,记录所有API

    6. **Event-driven模型**: MINA基于事件驱动模型,当网络事件发生时,如数据到达或连接建立,MINA会触发相应的事件回调。 7. **缓冲区操作**: MINA使用NIO的ByteBuffer,提供了高效的数据读写操作。理解如何有效地...

    apache-mina源码

    MINA提供了异步的、事件驱动的网络应用编程接口(API),适用于TCP和UDP协议,简化了网络编程的工作。在这个"apache-mina源码"中,我们可以深入理解MINA的设计原理和实现细节。 MINA的核心概念包括: 1. **...

    mina源代码学习提供下载

    - **关键类和接口**:如IoAcceptor用于监听和接受连接,IoHandler处理网络事件,IoFilter接口定义了过滤器行为,IoSession代表网络连接。 - **配置文件**:可能包含配置服务器端口、线程池大小等信息的XML配置文件。...

    关于apache Mina Server

    深入理解Apache_Mina_(3)----_与IoHandler相关的几个类 深入理解Apache_Mina_(4)----_IoFilter和IoHandler的区别和联系 深入理解Apache_Mina_(5)----_配置Mina的线程模型 深入理解Apache_Mina_(6)----_Java_Nio_...

    3本mina教程和mina帮助文档

    3. **Mina API**:熟悉Mina的主要类和接口,如`IoSession`、`IoHandler`、`IoFilter`等,并学会如何在项目中使用它们。 4. **过滤器**:掌握Mina的过滤器机制,理解如何自定义过滤器以实现数据的编码、解码、安全...

    apache mina-spring 服务端程序

    3. **业务处理器**:实现了Mina的IoHandler接口,处理来自客户端的事件和数据。 4. **协议编码解码器**:用于将网络传输的数据转换为业务对象,反之亦然,可能实现了Mina的ProtocolCodec接口。 5. **测试用例**:...

    MINA 服务端和客户端demo

    - MINA服务端通常会定义一个IoHandler,这是一个接口,用于处理服务端接收到的各种网络事件,如连接建立、数据读取、连接关闭等。 - 在服务端的实现中,IoHandler的`messageReceived()`方法会被调用来处理客户端...

    Mina2.0入门

    1. **事件驱动模型**:Mina使用IoHandler接口来处理网络事件,如连接建立、数据读写和连接关闭等。当这些事件发生时,IoHandler的相应方法会被调用,从而实现业务逻辑。 2. **非阻塞I/O**:Mina使用NIO(非阻塞I/O...

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

    通过其核心组件 IoSession、FilterChain 和 IoHandler,可以灵活处理各种网络事件和协议,满足各种复杂的网络编程需求。在实际项目中,结合 MINA 的特点和优势,可以有效地提高开发效率并降低维护成本。

Global site tag (gtag.js) - Google Analytics