`
iluoxuan
  • 浏览: 582246 次
  • 性别: 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-2.0.4.rar_apache mina_mina

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

    Mina框架入门介绍

    `IoHandler`是Mina中的另一个重要组件,它负责处理客户端的事件。当接收到客户端的数据或发生特定事件时,IoHandler会被调用执行相应的逻辑。例如,`messageReceived()`方法用于处理接收到的数据,而`exception...

    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开发实例(服务端、客户端)DEMO

    这些事件由`IoHandler`接口处理,开发者可以自定义`IoHandler`来实现业务逻辑。例如,当接收到新连接时,`sessionCreated()`方法会被调用;数据到达时,`messageReceived()`方法负责处理;当连接断开时,`session...

    java-mina通信框架详解.docx

    Mina的核心特性是其事件驱动、异步(基于Java NIO)的编程模型,使得处理网络通信变得更加高效。 Mina分为1.x和2.x两个主要分支,推荐使用最新的2.0版本。框架中包含了Server和Client的封装,简化了网络通信结构。...

    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,提供了高效的数据读写操作。理解如何有效地...

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

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

    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_...

    spring+mina实现http接口服务端通信客户端

    4. **编写IoHandler**:IoHandler是Mina的核心组件,负责处理网络连接的建立、数据的读写以及连接的关闭等事件。在这个项目中,IoHandler应该能够解析从HTTP接口接收到的客户端消息,并作出响应。 5. **消息处理**...

Global site tag (gtag.js) - Google Analytics