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

一个基于MINA框架应用的最简单例子

    博客分类:
  • Mina
阅读更多

直接上代码。关于原理和主要的API以后在说。先能跑通了在说。

 

主要的包:mina-core-2.0.0.jar【到官网上下载完整项目包里面还有文档和依赖包】,jcl-over-slf4j-1.5.11.jar,slf4j-api-1.5.11.jar,slf4j-nop-1.5.11.jar这三个是mina使用的日志包。前面二个mina项目包里有。最后一个到官网上下吧。

 

服务器类:

public class MinaServer {
	private static final int PORT = 22222;// 定义监听端口
	public static void main(String[] args) throws IOException {
		//创建一个非阻塞的Server端socket,用NIO
		IoAcceptor acceptor = new NioSocketAcceptor();
		//创建接受数据的过滤器
		DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
		//设定这个过滤器将一行一行的读取数据
		chain.addLast("codec",new ProtocolCodecFilter(new TextLineCodecFactory()));// 指定编码过滤器
		// 指定业务逻辑处理器
		acceptor.setHandler(new Handler());
		// 设置端口号
		acceptor.setDefaultLocalAddress(new InetSocketAddress(PORT));
		acceptor.bind(); //启动监听
		System.out.println("Mina Server is Listen on:"+PORT);
	}
}

 处理类。用来处理请求连接的。

public class Handler extends IoHandlerAdapter {
	//当一个客户端连接进入时
	@Override
	public void sessionOpened(IoSession session)throws Exception {
		System.out.println("incoming client:"+session.getRemoteAddress());
	}
	//当客户端发送消息到达时
	@Override
	public void messageReceived(IoSession session, Object message)throws Exception {
		String s = message.toString();
		System.out.println("client send message is:"+s);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd mm:hh:ss");
		Date date = new Date();
		session.write(sdf.format(date));// 返回当前时间的字符串
		System.out.println("message written...");
	}
	//当一个客户端连接关闭时
	@Override
	public void sessionClosed(IoSession session)throws Exception {
		System.out.println("one client closed");
	}
}

 服务端就完事儿了。运行MainServer就行了。

 

然后是测试下。在命令行运行“telnet 127.0.0.1 22222”,当服务器端出现“incoming client:/127.0.0.1:2333”,表示你连接成功了

然后你随便写个字符,然后回车。如果可以看到由服务器返回来的时间串就OK了。

 

时间紧。写的简单了。有问题或疑问可以留言。

分享到:
评论
1 楼 weis2007 2014-03-27  
at MinaTestServer.main(MinaTestServer.java:16)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.MarkerIgnoringBase

相关推荐

    apache mina 框架实例

    Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,主要用在开发网络通信应用,如TCP/IP和UDP/IP协议的服务器和客户端。这个框架允许开发者以一种简单、高效的方式处理I/O操作,同时提供了丰富的功能,如多...

    mina框架开发完整架包下载!

    Mina框架是一个高性能、事件驱动的网络应用框架,主要用于简化Java网络编程,特别是TCP和UDP协议的处理。它被广泛应用于开发服务器端应用,如FTP、SMTP、HTTP等协议的服务,以及任何基于TCP或UDP协议的应用。Mina的...

    Apache mina框架入门教程

    Apache Mina 框架是一个强大的网络通信应用框架,它主要针对基于TCP/IP和UDP/IP的协议栈,同时也支持Java对象序列化和其他通信方式。Mina 的核心设计目标是帮助开发者快速构建高性能、高可扩展性的网络应用。它采用...

    mina框架--MINA框架是对java的NIO包的一个封装

    MINA(Multipurpose Infrastructure for Network Applications)框架是Apache软件基金会的一个开源项目,它提供了一种高级的、事件驱动的网络应用程序框架,用于简化基于Java的网络编程,特别是使用非阻塞I/O(Non-...

    基于MINA构建简单高性能的NIO应用_曾冠东

    《基于MINA构建简单高性能的NIO应用》这篇文章深入探讨了如何利用Apache MINA框架来构建高效、非阻塞的网络应用程序。MINA作为一个高性能、轻量级的网络通信框架,为开发者提供了丰富的功能和便利性,使得创建复杂的...

    mina HTTP协议实例

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个Java框架,它提供了高度可扩展的、高性能的网络应用程序开发工具。本文将深入探讨如何使用MINA实现HTTP协议,以及相关的源码分析和实用...

    mina 框架demo

    此段代码展示了如何创建一个基于Mina的TCP服务器。其中: - 使用`NioSocketAcceptor`来创建一个服务器实例。 - 添加`LoggingFilter`用于日志记录。 - 添加`ProtocolCodecFilter`并使用`TextLineCodecFactory`来处理...

    Apache mina源代码框架解析

    在这个文档中,我们将简要分析Mina 2.0框架的源代码,并通过一个简单的时钟服务器示例来了解其工作原理。 首先,我们来看`MinaTimeServer`类。这个类是Mina服务器的主入口点,它创建了一个`NioSocketAcceptor`实例...

    Mina2.0框架源码剖析.pdf

    首先,我们来看`MinaTimeServer`类,它是Mina2.0框架的一个简单示例,实现了基于TCP的时钟服务器。在这个例子中,服务器监听6488端口,等待客户端连接。`NioSocketAcceptor`是Mina提供的非阻塞I/O服务接受器,负责...

    Mina入门:mina版之HelloWorld

    在这个“Mina入门:Mina版之HelloWorld”教程中,我们将探讨如何使用Mina构建一个简单的网络通信应用。 首先,我们需要了解Mina的核心概念。Mina基于事件驱动和非阻塞I/O模型,这使得它在处理大量并发连接时表现...

    mina中文开发手册.pdf

    文档中还提供了一个简单的TCPServer实例,演示了如何使用Mina框架来构建一个TCP服务器。在这个例子中,开发者首先需要创建IoService。IoService既可是服务端也可是客户端。这里,我们创建了一个服务端,因此使用了...

    mina2推送demo客户端

    MINA(Multi-purpose Infrastructure for Network Applications)是一个高性能、异步的网络通信框架,由Apache软件基金会开发,主要用于构建网络应用程序,如TCP/IP和UDP/IP协议的应用。MINA2是其第二个主要版本,...

    spring boot 整合mina 串口

    这个例子中,我们创建了一个可直接运行的Spring Boot项目,通过配置文件指定串口参数,然后利用Mina进行串口通信。注意,实际应用中需要根据具体需求调整配置和处理逻辑。希望这个例子能帮助你节省时间,避免在整合...

    Mina2.0入门

    Apache Mina是一个高度可扩展且功能强大的网络通信框架,它为Java应用程序提供了简单而统一的API来处理TCP/IP、UDP和SSL/TLS协议。Mina2.0作为其最新版本,引入了许多改进和优化,旨在提高性能、稳定性和易用性。这...

    mina入门实例

    【mina入门实例】这篇教程主要介绍了如何入门Apache Mina框架,并通过一个简单的实例来演示其基本用法。Apache Mina是一个高性能、轻量级的网络通信框架,常用于开发网络应用,如TCP/IP和UDP协议的服务端和客户端。 ...

    mina开发步骤

    在这个例子中,我们首先创建了一个`NioSocketAcceptor`对象,用于监听客户端连接请求。然后通过`setHandler`方法设置处理器为`Demo1ServerHandler`,并添加了一个`ProtocolCodecFilter`来处理编码解码工作。最后,...

    apache mina详细介绍,适合新手入门mina

    在这个示例中,我们创建了一个基于 NIO 的 `IoAcceptor` 并设置了读缓冲区的大小。然后配置了一个自定义的 `IoHandler` 和编码过滤器。最后,我们将服务器绑定到 8080 端口,并启动服务。 #### 四、Mina 的优势 - ...

    mina解码器

    在Java的网络编程中,Apache MINA(Multipurpose Infrastructure for Network Applications)是一个非常重要的框架,它为开发高性能、异步的网络应用程序提供了便利。MINA提供了高级的网络通信API,可以用于TCP/IP和...

    Mina 2.0 中文参考手册

    1. **创建IoService**:在本例中,我们创建一个`NioSocketAcceptor`实例,这是Mina中的一个关键组件,用于处理基于NIO的TCP连接。我们可以通过设置会话配置参数来优化网络性能,例如设置读缓冲区大小为2048字节。 `...

Global site tag (gtag.js) - Google Analytics