-
SocketAcceptor明明是接口为什么可以被实例化15
在学习mina框架时碰到这样一段代码
IoAcceptor acceptor = new SocketAcceptor();
SocketAcceptorConfig config = new SocketAcceptorConfig();
config.setReuseAddress(true);
SocketAcceptor明明是接口为什么可以被new2012年3月02日 14:37
1个答案 按时间排序 按投票排序
-
采纳的答案
没玩过mina,帮楼主看了一下,应该是版本问题吧,
这个版本是类org.apache.mina.transport.socket.nio.SocketAcceptor
这个版本是接口:org.apache.mina.transport.socket.SocketAcceptor
低版本的是类(我看的是1.1.8)
http://mina.apache.org/report/1.1/apidocs/overview-summary.html
高版本(我看的是2.0.4)是接口
http://mina.apache.org/report/trunk/apidocs/org/apache/mina/transport/socket/package-summary.html
楼主肯定是看到或者用了低版本的了2012年3月02日 20:18
相关推荐
在`createClientListeners()` 方法中,可以看到Openfire如何配置MINA的SocketAcceptor来处理客户端连接。首先,检查客户端监听是否已启用,如果启用,则创建SocketAcceptor。SocketAcceptor是MINA中的核心组件,用于...
在该类中,通过配置 `SocketAcceptor` 实例和 `ProtocolCodecFilter` 来实现对数据的接收和编码解码处理。 ##### 3. 启动与测试 启动服务器后,可以通过编写客户端代码来测试服务器的响应。客户端可以发送消息给...
启动服务端时,你可以运行`demo1server.java`,这个类应该包含了设置SocketAcceptor和处理器的逻辑。 客户端部分,Mina提供了`ClientBootstrap`类来创建客户端连接。在Android客户端应用中,你需要在合适的时间启动...
当创建`IoService`实例时,可以指定其I/O Processor线程的数量。对于`SocketConnector`和`SocketAcceptor`,I/O Processor线程数量由`Runtime.getRuntime().availableProcessors() + 1`决定,这意味着JVM会根据系统...
通过这样的配置,可以确保编码/解码和计算密集型任务分别由不同的线程处理,从而最大化系统的整体性能。 #### 三、总结 通过对 Apache MINA 中线程模型的深入理解及配置,可以有效地优化网络应用程序的性能。无论...
6. **IoHandler**:这是处理网络事件的核心接口,`IoHandler` 的 `messageReceived` 方法会在接收到客户端消息时被调用。在示例中,虽然没有直接定义 `IoHandler`,但 `SocketAcceptor` 的配置和过滤器链的设置暗示...
在 **Apache Mina 2** 中,可以通过实现 IoHandler 接口或继承 SimpleIoHandler 类来定义 I/O 处理器。例如,在前面提到的计算器服务中,I/O 处理器就需要解析客户端发来的数学表达式,并计算结果后返回给客户端。 ...
- 在MINA2中,所有的类和方法遵循驼峰命名规则,例如`SSLFilter`被重命名为`SslFilter`。NIO相关的传输类前缀统一添加了`Nio`,如`SocketAcceptor`变为`NioSocketAcceptor`。 - Filter类进行了重构,被分到了多...
它存储连接的相关信息,并通过这个接口进行读写操作,如`write()`和`close()`,还可以设置和获取属性。 2. **IoHandler**:类似于Servlet,它是处理I/O事件的最终处理器。主要方法包括`sessionOpened()`、`message...
Apache Mina Server是一款高性能且易于使用的网络通信应用框架,主要基于TCP/IP和UDP/IP协议栈进行设计,同时也支持其他类型的通信服务,比如JAVA对象的序列化服务、虚拟机间的管道通信服务等。该框架的核心优势在于...
在Mina中,我们可以使用`NioSocketAcceptor`或`SocketAcceptor`来创建Acceptor,并通过监听事件来处理新建立的连接。 2. **Connector**:客户端使用Connector与服务端建立连接。在Mina中,通常使用`...
### MiNA框架新人指导知识点详解 #### 一、前言 在金融行业的IT技术栈中,**MiNA** 和 **...开发者可以根据实际需求选择合适的框架,并结合具体的业务场景进行定制化开发,从而提高开发效率并降低维护成本。
- **重用地址(Reuse Address)**: 设置为`true`意味着该端口可以被其他应用程序重用,这有助于避免端口冲突问题。 #### 五、处理器与过滤器 在上述配置中还定义了两个处理器`SampleHandler`和`bossSampleHandler`...
Apache Mina是一个高度可扩展的网络通信框架,适用于TCP/IP和UDP/IP协议,而Spring MVC是Spring框架的一部分,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。 描述中的链接指向了一个CSDN博客文章,作者...
2. **事件驱动**:MINA 的设计基于事件模型,当特定的 I/O 事件发生时(如数据可读或可写),相应的事件处理器会被触发。 3. **支持多种协议**:MINA 支持 TCP、UDP、APR 和串行等多种通信协议,使其在不同场景下都...
NIO(Non-blocking I/O,非阻塞I/O)自Java 1.4版本引入以来,为Java开发者提供了更为高效的I/O操作机制。相较于传统的阻塞I/O模型,NIO能够显著提高服务端处理大量并发连接的能力,从而提升整体系统的性能。 #### ...
3. **处理请求**:为了防止业务处理阻塞Selector,使用多线程分离监听和处理任务,最大化利用NIO的异步特性。 接下来是Tomcat的NIO实现: 1. **NioEndpoint**:同样负责组件的组合,包括Acceptor和Poller。 2. **...