`
dato0123
  • 浏览: 970281 次
文章分类
社区版块
存档分类
最新评论

Mina2.0快速入门

 
阅读更多

MinaTimeServer.java

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->packagecom.vista;

importjava.io.IOException;
importjava.net.InetSocketAddress;
importjava.nio.charset.Charset;

importorg.apache.mina.core.service.IoAcceptor;
importorg.apache.mina.core.session.IdleStatus;
importorg.apache.mina.filter.codec.ProtocolCodecFilter;
importorg.apache.mina.filter.codec.textline.TextLineCodecFactory;
importorg.apache.mina.filter.logging.LoggingFilter;
importorg.apache.mina.transport.socket.nio.NioSocketAcceptor;


publicclassMinaTimeServer
{
privatestaticfinalintPORT=6488;
publicstaticvoidmain(String[]args)throwsIOException
{
//监听即将到来的TCP连接
IoAcceptoracceptor=newNioSocketAcceptor();
acceptor.getFilterChain().addLast(
"logger",newLoggingFilter());
acceptor.getFilterChain().addLast(
"codec",newProtocolCodecFilter(newTextLineCodecFactory(Charset.forName("UTF-8"))));

acceptor.setHandler(
newTimeServerHandler());

acceptor.getSessionConfig().setReadBufferSize(
2048);
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE,
10);

acceptor.bind(
newInetSocketAddress(PORT));
System.out.println(
"服务器启动");
}

}

TimeServerHandler.java

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->packagecom.vista;

importjava.util.Date;

importorg.apache.mina.core.service.IoHandlerAdapter;
importorg.apache.mina.core.session.IdleStatus;
importorg.apache.mina.core.session.IoSession;

publicclassTimeServerHandlerextendsIoHandlerAdapter
{

publicvoidexceptionCaught(IoSessionsession,Throwablecause)throwsException
{
cause.printStackTrace();
}
publicvoidmessageReceived(IoSessionsession,Objectmessage)throwsException
{
StringstrMsg
=message.toString();
if(strMsg.trim().equalsIgnoreCase("quit"))
{
session.close();
return;
}
Datedate
=newDate();
session.write(date.toString());
System.out.println(
"Messagewritten");
}
publicvoidsessionIdle(IoSessionsession,IdleStatusstatus)throwsException
{
System.out.println(
"IDLE"+session.getIdleCount(status));
}

}

测试:

Client Output

Server Output

user@myhost:~> telnet 127.0.0.1 9123
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
hello
Wed Oct 17 23:23:36 EDT 2007
quit
Connection closed by foreign host.
user@myhost:~>

MINA Time server started.
Message written...

参考资料:1MINA v2.0 Quick Start Guide

分享到:
评论

相关推荐

    Mina2.0快速入门与源码剖析.docx

    Mina2.0 快速入门与源码剖析 Mina2.0 是一个基于 Java 的网络应用框架,提供了一个高效、可扩展的网络通信解决方案。下面是 Mina2.0 快速入门与源码剖析的知识点总结: 一、Mina2.0 快速入门 Mina2.0 的快速入门...

    Mina 2.0快速入门与源码解析

    ### Mina 2.0快速入门与源码解析 #### Mina 2.0 快速入门 Mina 2.0 是一个基于Java NIO技术的高效、可伸缩的网络通信框架,广泛应用于服务器端开发。Mina 2.0 的设计目标是为开发者提供一个易于使用的API,使得...

    mina2.0教程

    自己整理的一些mina学习资料,内含MINA官方教程(中文版).docx,MINA-2.0.0-M4.chm(英文版),Apache_Mina_Server_2.0中文参考手册V1.0.pdf, 还有mina的包

    MIna2.0学习笔记

    Mina2.0作为其更新版本,提供了更丰富的功能和优化的性能,使得开发者能更高效地构建网络服务。 **入门** 1. **下载使用的Jar包**:在开始Mina2.0的学习之前,你需要从Apache官网或其他可靠的源下载Mina的最新版本...

    Apache MINA 2.0 用户指南中英文对照阅读版[带书签]

    本资源包含两个 pdf 文档,一本根据官方最新文档 (http://mina.apache.org/mina-project/userguide/user-guide-toc.html) 整理的 mina_2.0_user_guide_en.pdf,一个中文翻译的 mina_2.0_user_guide_cn.pdf。...

    Mina2.0学习笔记(修订版)

    ### Mina2.0学习笔记核心知识点概览 #### 一、Mina入门与环境搭建 ...以上是对《Mina2.0学习笔记(修订版)》的核心知识点概括,希望能帮助读者快速了解Mina框架的关键技术和应用场景,为后续深入学习打下坚实基础。

    MINA2.0入门教程(适合刚接触的人)

    MINA2.0入门教程(适合刚接触的人)

    Mina2.0完全剖析,完全自学手册

    ### Mina2.0完全剖析,完全自学手册 #### Apache Mina 概述 Apache Mina(Multipurpose Infrastructure Networked Applications)是一个强大的网络应用框架,主要用于帮助开发者构建高性能且易于扩展的网络应用程序...

    Mina2.0学习笔记(修订版).

    Mina 入门** 1. **下载使用的 Jar 包** 在开始Mina项目之前,首先需要下载Apache Mina的库文件。通常,你可以从Apache官方网站下载最新版本的Mina JAR包,其中包括核心库和其他依赖库,这些库包含了实现网络通信...

    Mina2.0入门

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

    Mina2.0完全剖析.doc

    综上所述,《Mina2.0完全剖析》详细介绍了如何使用Mina框架构建网络应用,从基础的入门步骤到高级的过滤器机制,为开发者提供了一条清晰的学习路径,帮助他们有效利用Mina实现高效、可靠的远程通信解决方案。...

    Mina2.0学习笔记

    Mina2.0是其一个重要的版本,提供了更多的特性和优化。 **一. Mina 入门** 1. **下载使用的 Jar 包** 在开始Mina项目之前,首先需要从Apache官方网站下载Mina的jar包,通常包括核心库和其他相关依赖。这些jar...

    Apache_Mina2.0学习笔记

    Mina2.0版本在前一版本的基础上进行了优化和改进,提供了更强大的功能和更好的性能。 ### Mina入门 1. **下载使用的Jar包**:在开始使用Mina之前,你需要从Apache官方网站下载最新版本的Mina2.0库,它包含了所有...

    Mina2.0框架源码剖析.doc

    ### Mina2.0框架源码剖析 #### 引言 Mina是Apache组织下的一个高性能网络通信框架,主要用于帮助开发者构建可靠且高效的网络应用程序。它通过提供一套抽象的、事件驱动的异步API,使得Java NIO在处理TCP/IP、UDP/...

    mina学习笔记

    《Mina2.0快速入门与源码剖析》这本书可能是MINA 2.0版本的指南,它可能包含以下内容: 1. 快速入门教程:针对MINA 2.0的新特性,提供快速搭建和运行MINA服务端和客户端的步骤。 2. 源码分析:对MINA的关键模块进行...

    Mina2.0学习笔记(修订版).doc

    Mina2.0是其一个重要的版本,提供了更多的特性和优化。 **一. Mina 入门** 1. **下载使用的 Jar 包** 在开始Mina项目之前,首先需要从Apache官方网站下载Mina的jar包,通常包括核心库和其他相关依赖。这些jar...

    apache_mina2收集的教程

    《Mina2.0快速入门与源码剖析》是一份快速上手指南,适合初学者。它会引导你完成Mina2的安装和基本应用开发,同时也会带你走进Mina的源码世界,帮助你理解框架内部的工作流程,这对于进一步的定制和扩展非常有帮助。...

Global site tag (gtag.js) - Google Analytics