`
leo
  • 浏览: 23487 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

MINA的第一个例子终于能运行了__1

    博客分类:
  • JAVA
阅读更多
照着网上的例子,一步一步来,但是结果总是不能运行.今天终于成功了.
我分别使用MINA的两个版本做了实验:0.9和1.0.将我实现的过程及遇到的问题分别介绍一下:
运行环境:winXP,eclipse3.2.1,jdk 1.4.2
一、MINA0.9

引用的包:
mina-0.9.0.jar
slf4j-simple.jar

类文件两个:
ReverseEchoServerHandler.java,用来实现IoHandlerAdapter。
import org.apache.mina.common.IoHandlerAdapter;
import org.apache.mina.common.IoSession;


public class ReverseEchoServerHandler extends IoHandlerAdapter {

	/* (non-Javadoc)
	 * @see org.apache.mina.common.IoHandlerAdapter#exceptionCaught(org.apache.mina.common.IoSession, java.lang.Throwable)
	 */
	public void exceptionCaught(IoSession session, Throwable arg1) throws Exception {
		session.close();
	}

	/* (non-Javadoc)
	 * @see org.apache.mina.common.IoHandlerAdapter#messageReceived(org.apache.mina.common.IoSession, java.lang.Object)
	 */
	public void messageReceived(IoSession session, Object message) throws Exception {
		String m = (String)message;
		StringBuffer buf = new StringBuffer();StringBuilder
		for(int i = m.length() -1;i>=0;i--){
			buf.append(m.charAt(i));
		}
		session.write(buf.toString());
	}
}


ReverseEchoServer.java
import java.nio.charset.Charset;

import org.apache.mina.common.DefaultIoFilterChainBuilder;
import org.apache.mina.common.TransportType;
import org.apache.mina.filter.LoggingFilter;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.registry.Service;
import org.apache.mina.registry.ServiceRegistry;
import org.apache.mina.registry.SimpleServiceRegistry;

public class ReverseEchoServer {

	public static void main(String[] args) throws Exception{
		ServiceRegistry registry = new SimpleServiceRegistry();
		Service service = new Service("reverse_echo",TransportType.SOCKET,8081);
		DefaultIoFilterChainBuilder chain = new DefaultIoFilterChainBuilder();
		chain.addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
		
		chain.addLast("logger", new LoggingFilter());
		
		registry.bind(service,new ReverseEchoServerHandler(),	chain);

	}
}

刚开始时仅使用了mina-0.9.0.jar包,结果总是报错,原来mina的log使用了slf4j,所以还需要这个包.
运行ReverseEchoServer。
用PuTTY看一下效果吧。


二、mina1.0
MINA的第一个例子终于能运行了__2
  • 大小: 581.2 KB
  • 描述: 输入hello 返回结果olleh
  • 大小: 49.2 KB
分享到:
评论

相关推荐

    TestMINA.zip_DEMO_Mina框架_java mina_mina_mina java

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高度可扩展且高性能的网络应用程序框架,主要用于简化网络服务的开发。MINA 提供了一种抽象层,让开发者可以专注于编写业务逻辑,而无需...

    apache-mina例子

    这个例子是关于如何使用Apache Mina实现一个简单的服务端和客户端通信的示例。在这个案例中,`MinaTimeServer`是服务端程序,它负责监听客户端的连接请求,并发送时间信息;而`MinaClient`则是客户端程序,它连接到...

    mina权威性能测试例子

    这个"mina权威性能测试例子"是针对Apache Mina的一个实际性能测试案例,旨在展示在特定环境下Mina如何处理大量并发连接。在这个测试中,四台客户端机器同时对服务器进行压力测试,结果显示服务器可以轻松地处理一万...

    mina消息推送例子

    在“mina_spring”这个例子中,我们可能会看到如何将Mina的配置整合到Spring的配置文件中,利用Spring的Bean管理来实例化和管理Mina的ServerBootstrap、Acceptor、Handler等对象。 为了实现消息推送,我们需要定义...

    MINA_API+MINA_DOC+mina

    MINA (Java IO Network Application Framework) 是一个由Apache软件基金会开发的开源网络通信框架,主要应用于构建高性能、高可用性的网络服务器。这个压缩包包含了MINA API文档、自学手册以及开发指南,对于学习和...

    Mina实现RPC的例子

    这个例子中的链接(http://blog.csdn.net/stevexk/archive/2008/07/23/2697907.aspx)提供了更详细的实现细节,包括具体的编码和解码逻辑,以及如何在Mina的过滤器和处理器中处理RPC请求。如果你需要深入学习,建议...

    udp.rar_MINA udp_android mina UDP_mina_mina u

    标题中的“udp.rar_MINA udp_android mina UDP_mina_mina u”暗示了这是一个关于使用MINA框架在Android平台上实现UDP通信的资源包。MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、...

    apache-mina-2.0.4.rar_Mina框架_SerialAddress_mina_mina apache down

    Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,主要设计用于简化开发网络服务,尤其是TCP/IP协议栈上的服务。Mina的核心理念是提供一套简单而强大的API,让开发者可以专注于业务逻辑,而非底层网络通信...

    Mina官网例子之时间服务器

    在这个例子中,我们将深入探讨Mina的"时间服务器",它是一个简单的应用,展示了如何使用Mina来创建一个能响应客户端查询当前系统时间的服务器。 **1. Mina基础概念** - **I/O模型**:Mina基于非阻塞I/O(NIO)模型...

    mina 第一原始版本的例子源码,可以供学习使用

    mina 第一原始版本的例子源码,可以供学习使用

    NIO_MINA学习例子_源代码

    NIO (Non-blocking Input/Output) 和 MINA (Multipurpose Infrastructure ...通过深入学习这个源代码示例,你可以对NIO和MINA有更深入的理解,并能将这些知识应用于实际项目中,开发出高效率、低延迟的网络应用程序。

    apache-mina-2.0.4.rar_apache mina_mina

    Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。这个"apache-mina-2.0.4.rar"压缩包包含的是Apache Mina 2.0.4版本的源代码,是深入理解和定制Mina的...

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

    3. **编写简单的应用**:从例子入手,创建一个简单的MINA服务器和客户端,理解它们之间的通信机制。 4. **实现自定义过滤器**:根据需求,编写自定义的过滤器,以实现特定的数据处理功能。 5. **性能调优**:了解...

    MINA 服务器端实现 可运行

    在本项目中,"MINA_Server_Test"是一个实现了MINA服务器端功能的可运行示例。 首先,我们来详细了解一下MINA的核心概念和架构: 1. **异步事件驱动**:MINA采用非阻塞I/O模型,即NIO(New IO)模式,通过Selector...

    mina通讯例子

    为了运行这个例子,你需要配置MINA的依赖库,通常通过Maven或Gradle添加对应的依赖。然后,根据提供的代码,创建服务器端和客户端的应用程序,并确保它们都在正确的端口上运行。 总的来说,这个"mina通讯例子"是一...

    Mina-Spring-Hibernate.rar_mina_mina hibernate_spring mina

    Mina作为一个高效的网络通信框架,Spring作为全栈式框架,而Hibernate则是主流的对象关系映射(ORM)框架。将这三个框架进行整合,可以构建出高效、灵活且易于维护的企业级应用。以下将详细介绍Mina、Spring和...

    Apache-Mina-2.rar_apache mina_java mina_mina_mina-core-1.1.3

    Apache Mina是一个强大的开源项目,专门设计用于构建网络应用程序。这个框架的核心目标是提供一个抽象层,使得开发者能够专注于业务逻辑,而不是底层网络通信的复杂性。标题中的"Apache-Mina-2.rar"和"mina-mina-...

    MINA源码与例子

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、异步事件驱动的网络应用程序框架,主要用于简化开发高质量的网络服务。MINA的目标是为开发者提供一个简单易用但功能强大的库,...

    mina-master_mina_

    1. **源代码**:MINA服务端的Java源代码,通常会包括一个或多个`Handler`类,这些类是MINA的核心部分,处理网络事件和数据传输。例如,`EchoHandler`可能会实现简单的回显服务,接收客户端发送的数据并原样返回。 2...

    Mina2.0.0_RC1 例子

    本例子是MyEclipse的JAVA工程,使用encoder和decoder对传输的数据对象编解码,接收和返回的数据头四个字节都表示后面数据的长度,源码中包含详细注释,理解后可修改为传输任意对象。 src源码包下的test.mina.server...

Global site tag (gtag.js) - Google Analytics