IoHandler有以下方法:
- sessionCreated
- sessionOpened
- sessionClosed
- sessionIdle
- exceptionCaught
- messageReceived
- messageSent
其中不容易区分的就是sessionCreated和sessionOpened(在前面也讲过),在说明文档中是这样说的:
Session Created event is fired when a new connection is created. For TCP its the result of connection accept, and for UDP this is generated when a UDP packet is received. This function can be used to initialize session attributes, and perform one time activities for a particular connection.
This function is invoked from the I/O processor thread context, hence should be implemented in a way that it consumes minimal amount of time, as the same thread handles multiple sessions.
SessionCreated:当连接连接上就发出这个消息;而且这个是在I/O处理线程上下文中进行调用的,所以这个函数要用最小的处理时间,这个线程还要处理多个session
而sessionOpened:
Session opened event is invoked when a connection is opened. Its is always called after sessionCreated event. If a thread model is configured, this function is called in a thread other than the I/O processor thread.
sessionOpened实在sessionCreated事件之后调用,如果线程模型被配置好了,则在对应的处理线程中进行调用,而不是在I/O处理线程中调用;
分享到:
相关推荐
3. **IoHandler**:IoHandler是处理网络事件的主要接口,如连接建立、数据接收、连接关闭等。你可以实现这个接口来定义你的业务逻辑。 4. **ProtocolCodec**:为了处理不同协议的数据编码和解码,Mina提供了...
深入理解Apache_Mina_(3)----_与IoHandler相关的几个类 深入理解Apache_Mina_(4)----_IoFilter和IoHandler的区别和联系 深入理解Apache_Mina_(5)----_配置Mina的线程模型 深入理解Apache_Mina_(6)----_Java_Nio_...
`IoHandler`是Mina中的另一个重要组件,它负责处理客户端的事件。当接收到客户端的数据或发生特定事件时,IoHandler会被调用执行相应的逻辑。例如,`messageReceived()`方法用于处理接收到的数据,而`exception...
这些事件由`IoHandler`接口处理,开发者可以自定义`IoHandler`来实现业务逻辑。例如,当接收到新连接时,`sessionCreated()`方法会被调用;数据到达时,`messageReceived()`方法负责处理;当连接断开时,`session...
Apache Mina是一个强大的网络通信框架,专为基于TCP/IP和UDP/IP协议栈的应用设计。它提供了JAVA对象的序列化和虚拟机内部通信的功能,使得开发者能够迅速构建高性能、高可扩展性的网络应用。Mina的核心特性是其事件...
IoHandler(处理器),处理实际的业务逻辑。通过Mina,开发者可以快速构建出可扩展、高性能的网络应用。 SpringBoot是Spring框架的一个扩展,致力于简化Spring应用的初始搭建以及开发过程。整合Mina到SpringBoot...
IoFilter和IoHandler是MINA中的两个重要组件。IoHandler是处理网络事件的核心接口,它定义了接收到数据、连接建立、连接关闭等事件时需要执行的方法。IoFilter则是一个过滤器链,允许在数据传输到IoHandler之前对其...
4. **编写IoHandler**:IoHandler是Mina的核心组件,负责处理网络连接的建立、数据的读写以及连接的关闭等事件。在这个项目中,IoHandler应该能够解析从HTTP接口接收到的客户端消息,并作出响应。 5. **消息处理**...
使用 MINA 开发时,开发者首先需要配置 IoService,如 NioSocketAcceptor 或 NioDatagramAcceptor,然后创建 IoHandler 实现,接着设置过滤器链,并启动服务监听特定的端口。在接收到数据后,IoHandler 会调用相应的...
**Mina客户端服务器Demo**是基于Apache Mina框架的一个示例项目,主要展示了如何使用Mina进行网络通信的开发。Apache Mina是一个高度可扩展且轻量级的Java框架,主要用于构建高性能、高效率的网络应用程序,如TCP/IP...
为了简化IoHandler的实现,Mina提供了IoHandlerAdapter类,该类实现了IoHandler接口,开发者只需重写其中的部分方法即可。 IoFilter作为IoService和IoHandler之间的桥梁,扮演着至关重要的角色。它的功能涵盖数据流...
3. **Mina API**:熟悉Mina的主要类和接口,如`IoSession`、`IoHandler`、`IoFilter`等,并学会如何在项目中使用它们。 4. **过滤器**:掌握Mina的过滤器机制,理解如何自定义过滤器以实现数据的编码、解码、安全...
4. **创建Handler**:编写一个实现了IoHandler接口的类,该接口包含一个sessionOpened()、messageReceived()和messageSent()方法。这些方法会在连接打开、接收到消息和发送消息时被调用。 5. **事件监听**:在...
Mina基于事件驱动模型,通过I/O事件处理器(IoHandler)来处理各种网络事件,如连接建立、数据读取、数据写入和断开连接等。开发者需要实现IoHandler接口,定义相应事件的处理方法。 4. **mina核心组件** - **...
这个类通常会实现`IoHandler`接口: ```java public class MinaSerialHandler extends IoHandlerAdapter { @Override public void messageReceived(IoSession session, Object message) throws Exception { /...
每一个示例都会涵盖特定的mina使用技巧和最佳实践,例如如何配置mina的IoHandler、如何实现自定义的IoFilter、以及如何处理不同协议的消息。 总的来说,mina是一个功能强大且性能优秀的网络通信框架,特别适合开发...
5. 集成MINA事件处理器:在MINA的IoHandler或Filter中处理接收到的数据,进行反序列化操作。 五、优化与注意事项 1. 使用MINA的BufferUtil工具类优化内存管理,避免不必要的缓冲区复制。 2. 考虑数据兼容性:在升级...
- MINA服务端通常会定义一个IoHandler,这是一个接口,用于处理服务端接收到的各种网络事件,如连接建立、数据读取、连接关闭等。 - 在服务端的实现中,IoHandler的`messageReceived()`方法会被调用来处理客户端...