- 浏览: 457386 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (233)
- 技术日志 (87)
- portal (7)
- jBPM/Activiti (34)
- Roller学习 (18)
- Java基础、网站开发 (19)
- 收藏URL (4)
- UML (3)
- linux操作 (7)
- 工作环境准备 (8)
- Mina (15)
- tomcat (8)
- Mylyn (3)
- sina网站 (2)
- 规则引擎 (3)
- 工作记录 (11)
- html(5) (9)
- 手机开发 (3)
- oracle (26)
- 常用的 (2)
- maven (8)
- hadoop (0)
- xml (7)
- 错误解决 (5)
- linux (1)
- c# (2)
- c++ (1)
- node.js (1)
- 银行业务知识 (1)
- Java调试 (0)
最新评论
-
tomcatmeng:
请问候选用户是怎样task自己的任务,看网上说先根据任务id先 ...
jBPM4.4:ForEach的使用--动态设置参与人数 -
maoweiwer:
友情提醒:如果是在MYSQL下创建数据库,则还需要更改\jbp ...
jBPM4.4: 创建数据库表 -
zybing:
ganjiang 写道有点疑惑,请lz指点,1.那个“depl ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤 -
zybing:
ganjiang 写道有点疑惑,请lz指点,1.那个“depl ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤 -
ganjiang:
有点疑惑,请lz指点,1.那个“deployId”不知是那个i ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤
Mina的第一个例子,就是时间服务器:
服务器接收客户端的连接,
只要客户发送不是“quit”,就把当前的时间返回给客户,
客户发送“quit”,就关闭客户连接;
服务器程序:MinaTimeServer.java
import java.net.InetAddress; import java.net.InetSocketAddress; import java.nio.charset.Charset; import org.apache.mina.core.service.IoAcceptor; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.TextLineCodecFactory; import org.apache.mina.filter.logging.LoggingFilter; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; /** * @author Administrator * */ public class MinaTimeServer { // 服务器监听端口 private static final int PORT = 9123; /** * */ public MinaTimeServer() { // TODO Auto-generated constructor stub } /** * @param args */ public static void main(String[] args) { // 服务器端的主要对象 IoAcceptor acceptor = new NioSocketAcceptor(); // 设置Filter链 acceptor.getFilterChain().addLast("logger", new LoggingFilter()); // 协议解析,采用mina现成的UTF-8字符串处理方式 acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8")))); // 设置消息处理类(创建、关闭Session,可读可写等等,继承自接口IoHandler) acceptor.setHandler(new TimeServerHandler() ); // 设置接收缓存区大小 acceptor.getSessionConfig().setReadBufferSize(2048); acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10); try { // 服务器开始监听 acceptor.bind( new InetSocketAddress(PORT) ); }catch(Exception e){ e.printStackTrace(); } } }
消息处理类:TimeServerHandler.java
import java.util.Date; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IoSession; /** * @author Administrator * */ // 继承自IoHandlerAdapter,IoHandlerAdapter继承接口 IoHandler // 类IoHandlerAdapter实现了IoHandler的所有方法,自己只要重载关心的几个方法就可以了 public class TimeServerHandler extends IoHandlerAdapter { @Override public void exceptionCaught(IoSession session, Throwable cause) throws Exception { cause.printStackTrace(); } // 这个方法是目前这个类里最主要的, // 当接收到消息,只要不是quit,就把服务器当前的时间返回给客户端 // 如果是quit,则关闭客户端连接 @Override public void messageReceived(IoSession session, Object message) throws Exception { String str = message.toString(); if (str.trim().equalsIgnoreCase("quit")) { session.close(); return; } Date date = new Date(); session.write(date.toString()); System.out.println("Message written..."); } }
服务器运行起来,telnet到9123端口,随便输入一串字符,回车,在屏幕上就可以显示服务器当前的时间;
输入quit,则和服务端连接中断
评论
2 楼
zybing
2012-04-01
香山早秋 写道
你好,我刚开始看mina框架,请问下这个程序如果是在eclipse中建立的一个java程序,运行后客户端是怎么去连接服务器的呢?命令行里面吗?从哪里输入信息呢
客户端可以就采用telnet,
自己在command窗口中,"telnet到9123端口,随便输入一串字符,回车,在屏幕上就可以显示服务器当前的时间;输入quit,则和服务端连接中断"
就可以了
1 楼
香山早秋
2012-03-29
你好,我刚开始看mina框架,请问下这个程序如果是在eclipse中建立的一个java程序,运行后客户端是怎么去连接服务器的呢?命令行里面吗?从哪里输入信息呢
发表评论
-
新公司新的环境 --- 开发环境说明
2013-10-17 05:37 968到了新公司,开发环境和原来的公司几乎不同,虽说开发环境不同简 ... -
Java中JSON解析器的一点见解
2013-08-15 17:25 1444最终采用了Jackson JSON ... -
npm设置代理 以及 重定向
2013-07-30 10:49 3647node.js通过npm安装模块,npm的代理设置法:npm ... -
windows7访问xp的共享目录
2013-07-18 20:17 2055新装了了一台win7,无法访问到xp的共享目录,怎么调都不行 ... -
Access restriction: The type XXX is not accessible due to restriction on require
2013-01-06 09:14 1116引用rt.jar中的一个类,结 ... -
JVM崩溃
2012-07-03 10:19 1641程序本来好好的, 做了一次大修改,测试的时候发现在某些场合下, ... -
关于泛型中<? extends A> 和 <? super A>的差别
2012-05-22 16:05 1175天下文章一大抄, 继续抄 来源: 百度上搜索&quo ... -
泛型类型的子类及通配符的使用
2012-05-22 15:30 1531最近碰到一个泛型的问题, 就在网上找技术贴, 挖坟挖出个08年 ... -
Calendar中的Time/isTimeSet
2012-05-03 14:15 1186在调试程序,在Eclipse的watch窗口,发现Cal ... -
Java中getResourceAsStream的用法
2012-02-14 10:12 1361Java中getResourceAsStream的用 ... -
Tomcat没有说支持WebSocket,只能用Jetty了
2012-01-18 11:11 1339Tomcat没有说支持WebSocket,只能用Jetty了 -
做网站需要注意的地方以及需要采用的技术、产品
2012-01-16 10:24 1159整个网站: 内容组织 1. 前台技术 ... -
【HTML】块级元素的盒子属性
2012-01-09 09:42 1731html中的块级元素:标记节、division、标题、段落、列 ... -
CSS几种定义方式
2012-01-09 09:26 18561. 针对标记的定义: <style ty ... -
HTML中的注释
2012-01-09 09:05 1305在HTML中的注释是 <!-- --> ... -
jBPM4.4+SpringSecurity用户合并到自己体系中来
2011-12-30 10:53 3520jbPM4.4中的用户: 见:http://zybin ... -
【】ActiveX回调JS函数
2011-11-03 14:11 1980控件回调JS函数 http://blog.163 ... -
【xml】在页面中使用XML同步对象
2011-10-31 10:30 1221在页面中,需要获得XML数据,这个数据有控件进行获取,为了保证 ... -
【xml】SchemaLocation、import、include
2011-10-27 16:27 3189在xml中,定义了namespace,如果要验证xml文档的有 ... -
eXtremeDB微秒级实时数据库简介
2011-10-26 13:47 1641eXtremeDB微秒级实时数据库简介 eXtreme ...
相关推荐
- **src** 目录:包含了MINA框架的源代码,通过阅读源代码,你可以深入理解MINA的设计思想和实现细节。 - **examples** 目录:包含了一系列示例项目,这些项目展示了如何使用MINA来创建不同类型的网络服务,如简单的...
综上所述,MINA 2.0提供的这套jar包集合,不仅包含了完整的MINA框架,还涵盖了日志、状态机、依赖注入、JMX管理和数据压缩等多个方面的支持,为构建高效、可扩展的网络应用提供了全方位的工具集。开发者可以根据实际...
总之,Mina时间服务器是一个很好的起点,帮助开发者了解如何利用Mina框架创建网络服务。通过这个简单的例子,你可以学习到Mina的基本工作原理,以及如何构建和扩展基于Mina的应用。在实际项目中,Mina可以用于构建...
Apache Mina是一个开源项目,主要用于构建高...在`MinaTimeServer`和`MinaClient`的例子中,我们可以看到如何使用Mina轻松地建立一个简单的服务器和客户端通信系统,这对于理解和学习Mina的基本用法是非常有帮助的。
在上述代码中,可以看到如何使用MINA框架初始化一个服务器: 1. `NioSocketAcceptor` 是MINA中的一个核心类,它用于创建一个监听特定端口的TCP服务器。在这个例子中,`acceptor` 被创建并配置为监听指定的端口...
Mina框架的优势在于其高度模块化的设计,允许开发者根据需求自由组合过滤器和处理器,实现复杂的应用逻辑。此外,Mina还支持多种协议,包括HTTP、FTP、SMTP等,为开发者提供了丰富的选择。 通过深入分析Mina2.0的...
在实际应用中,"mina框架实例"的`src`目录中的代码可能会展示如何创建一个简单的MINA服务器,监听端口,接收连接,以及如何处理来自客户端的数据。开发者可以通过分析这些代码来学习MINA的基本用法,如创建Filter、...
在提供的"Android长连接Mina框架demo"中,包含了服务器和客户端的示例代码,可以帮助开发者快速理解和上手。 总的来说,Mina框架为Android开发者提供了一套完整的工具集,能够轻松构建高效、可靠的长连接服务。通过...
总结来说,Mina是一个强大的网络通信框架,它简化了服务器开发的复杂性,提供了高效的非阻塞I/O模型和灵活的Filter Chain机制。通过理解并实践上述例子,你将能够更好地掌握Mina,并在实际项目中运用它来构建高性能...
在这个“mina消息推送例子”中,我们将深入探讨Mina如何实现消息推送,并结合Spring框架进行集成。 首先,Apache Mina提供了一个异步事件驱动的网络应用编程接口(API),它简化了TCP/IP和UDP协议的处理,如HTTP、...
Apache Mina是一个开源的网络通信应用框架,主要应用于构建高性能、高可用性的网络服务器和客户端。这个"mina权威性能测试例子"是针对Apache Mina的一个实际性能测试案例,旨在展示在特定环境下Mina如何处理大量并发...
Mina框架是一个高性能、事件驱动的网络应用框架,主要用于简化Java网络编程,特别是TCP和UDP协议的处理。它被广泛应用于开发服务器端应用,如FTP、SMTP、HTTP等协议的服务,以及任何基于TCP或UDP协议的应用。Mina的...
Apache Mina 框架是一个强大的网络通信应用框架,它主要针对基于TCP/IP和UDP/IP的协议栈,同时也支持Java对象序列化和其他通信方式。Mina 的核心设计目标是帮助开发者快速构建高性能、高可扩展性的网络应用。它采用...
Apache Mina是一个开源项目,它提供了一个高度可扩展且高性能的网络通信框架,支持多种协议,如TCP、UDP等。 首先,理解Mina的核心概念是必要的。Mina基于事件驱动和异步模型,允许开发者创建高效的网络应用。其...
它是用户自定义代码与MINA框架交互的地方。 5. IoSession:IoSession代表服务器与客户端之间的特定连接,包含了连接的两端的地址和端口号。MINA通过IoSession接口提供了对客户端连接的抽象,可以存储客户端的状态...
在这个"Mina例子包含与Spring整合"的项目中,我们将探讨如何将MINA与流行的Java企业级框架Spring进行集成。 1. **Apache MINA**:MINA是基于Java NIO(非阻塞I/O)的网络应用框架,用于构建高性能、跨平台的服务器...
MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、异步事件驱动的网络应用程序框架,用于构建服务器端应用程序,尤其在开发TCP和UDP协议的应用时非常有用。MINA 1.0 版本是该框架的一个...
在"apache-mina-2.0.2"压缩包中,包含了MINA框架的源代码,包括核心库、示例应用、文档和测试代码。通过阅读源码,你可以深入了解MINA的设计思想和实现细节,例如如何实现非阻塞I/O、过滤器链的工作原理、以及如何...
在这个“Mina服务端例子”中,我们主要探讨的是如何使用Mina框架来实现一个基于Socket的非阻塞I/O(NIO)服务端。 1. **Mina框架介绍**: Mina提供了事件驱动和异步处理模型,使得开发者可以专注于业务逻辑,而...
这个"mina通讯例子"展示了如何利用MINA库来实现客户端与服务器之间的对象通信。 在MINA中,核心概念包括`Session`、`Filter`和`Handler`。`Session`代表了网络连接,它提供了读写数据的方法;`Filter`是数据处理链...