一、mina简介 mina框架是对nio进行的一个封装,可用于java的网络编程,包括TCP/IP和UTP/IP编程,主要屏蔽了网络通信的一些细节,对socket进行封装,并且是用nio的一个实现框架...; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.filter.codec.ProtocolCodecFilter...; import org.apache.mina.core.service.IoConnector; import org.apache.mina.core.session.IoSession; import...org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.LineDelimiter...; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus
前言: 找了篇文章看了看,nio框架数Mina用的最多!...代码: 服务端: package com.mina; 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 java.util.Date; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus
什么是Mina框架 Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。...是用来代替 NIO网络框架的,对NIO框架进行了一层封装的Socket库。 Mina主页 下载地址 为什么使用Mina?...; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.session.IoSession; /**...写的客户端 //客户端使用mina public class MinaClient { public static void main(String[] args) throws Exception{...(inputContent=reader.readLine()).equals("bye")){ ioSession.write(inputContent); } } } 这是简单使用mina
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架...当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中。...MINA的基础架构图: 下面是使用Mina实现TCP的一个小例子: TCPServer.java import java.io.IOException; import java.net.InetSocketAddress...; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.LineDelimiter...控制台将输出: session open for /127.0.0.1:55344 The message received is [hello MINA] Mina实现TCP客户端: MyCient.java
Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina...Mina 主要有1.x 和2.x 两个分支,这里我们讲解最新版本2.0,如果你使用的是Mina 1.x,那么可能会有一些功能并不适用。...MINA 框架简介 当客户首次访问采用MINA编写的程序时,IoAcceptor作为线程运行,负责接受来自客户的请求。...IoHandler 从以上MINA框架简图可以看出,对来自客户端数据最终处理是在IoHandler中处理的。...编写 Handler 类就是使用 MINA 开发网络应用程序的重心所在,相当于 MINA 已经帮你处理了所有的通讯方面的细节问题。
基于MINA框架快速开发网络应用程序 1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架...通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。...MINA框架当前稳定版本是1.1.6,最新的2.0版本目前已经发布了M1版本。...版本为基础,通过一个范例来演示一下如何使用MINA框架进行开发。...框架来开发的网络应用程序代码结构更清晰;MINA框架完成了底层的线程管理;MINA内置的编码器可以满足大多数用户的需求,省去了开发人员消息编码解码的工作。
参考:http://xinsync.xju.edu.cn/index.php/archives/category/prglang/java/mina 简单介绍:MINA框架是对java的NIO包的一个封装...,简化了NIO程序开发的难度,封装了很多底层的细节,然开发者把精力集中到业务逻辑上来,最近做了一个相关的项目,为了备忘对MINA做一个总结。...下面这个start方法用来初始化MINA: private void start(int port, WebContext ctx) throws IOException, InstantiationException...MINA中有个过滤器和处理器的概念,过滤器用来过滤数据,处理器用来处理数据。...对应代码session.write(new ResponseMessage()); public class ResponseMessage{}//这里什么也不做,假设存放处理后的数据 注意:对于一个MINA
Mina异步IO使用的Java底层JNI框架,Mina提供服务端和客户端,将我们的业务解耦开发.真正做到高内聚低耦合的思想核心类===IoService :Mina中将服务端和客户端都看成是服务,这里提供统一接口...undefined作为一个好的框架肯定是有默认的拦截器的(TextLineCodecFactory )。默认拦截器可以叫消息强制转换为String类型。...比如Mina框架中用来创建服务端类NioSocketAcceptor。他直接继承了AbstractPollingIoAcceptor。...剩下的事情已经和Mina基本没多大关联了。我们将在这里处理业务逻辑,使用到的就是Handler提供的接收消息和发送消息两个功能。...下面贴出一份总结的图谱帮助我们理解Mina流程我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!
SocketConector用来和服务器端建立连接,连接成功,创建IoProcessor Thread(不能超过指定的processorCount),Thread由指定的线程池进行管理,IoProcessor 利用NIO框架对...Processor : I/O处理器、允许多线程读写,开发过程中只需要指定线程数量,Processor通过Nio框架进行I/O的续写操作,Processor包含了Nio的Selector的引用。...这点也正是mina的优势,如果直接用Nio编写,则需要自己编写代码来实现类似Processor的功能。...SocketConnectorConfig cfg = new SocketConnectorConfig(); cfg.setThreadModel(ThreadModel.MANUAL); MINA...Connector Thread :一般作为客户端的请求建立链接线程,实现了接口IoService,维持了一个和服务器端Acceptor的一个链接,线程数量就是创建SocketConnector 的数量 Mina
继续上一篇,这篇主要讲通过mina往B端发送消息。并接受消息,mina是一个网络通信框架,封装了javaNIO。简单易用。网上有非常多关于他的介绍,在此不赘述了。...;import org.apache.mina.core.service.IoConnector;import org.apache.mina.core.session.IoSession;import...org.apache.mina.filter.codec.ProtocolCodecFilter;import org.apache.mina.transport.socket.nio.NioSocketConnector...;import org.apache.mina.core.session.IdleStatus;import org.apache.mina.core.session.IoSession;import...;import org.apache.mina.core.session.IoSession;import org.apache.mina.filter.codec.ProtocolEncoderAdapter
以一个例子实现了mina客户端和服务端的通讯,现在通过源码来了解建立连接和通讯的过程(基于tcp/ip的实现)。...HelloWorld例子里面实现的是基于TCP/IP协议的通讯,用了mina默认的实现类NioSocketAcceptor和NioSocketConnector。...代码 绑定完成后唤醒NIO的selector开始接收请求 Java代码 selector.wakeup(); 小结: 通过解析NioSocketAcceptor的构造方法,bind()等代码大概了解了mina...服务端初始化相关的一些信息,同时涉及了mina框架相关的IoProcessorIoSessionIoServiceListener等,在下一篇文章中会再做进一步的分析接收到最终的处理请求的过程。
一、介绍 Apache Mina是一个网络应用框架,简化用户开发高性能、高可扩展性的网络应用程序的难度。...Apache Mina经常用作: 1)NIO框架库 2)客户端/服务器通信框架库 3)网络Socket通信库 Apache Mina还伴随有不少子项目: 1)Asyncweb 构建于Apache Mina...异步框架之上的HTTP服务器 2)FtpServer 一个FTP服务器 3)SSHd 一个Java库,支持SSHH协议 4)Vysper 一个XMPP服务器 Apache Mina 白名单实现方法 http....htm 二、Apache Mina下载 下载最新的Mina v2.0.8版 地址见:http://mina.apache.org/mina-project/downloads.html 三、用Mina...1、先决条件 Apache Mina 2.0.8 Core JDK 7 SLF4J+LOGBACK 2、项目依赖包 mina-core-2.0.8.jar slf4j-api-1.6.6.jar 3、
Mina各组件介绍上一篇文章已经系统的介绍了Mina的运行流程,Apache推出的Mina性能上很是高效,上章节我们知道内部有很多的类,各个类之间的依赖也是很多,他们之家都是相互依赖。...本篇就当是Mina的文档了。...void exceptionCaught(IoSession session, Throwable cause) 这个方法在你的程序、Mina...CharsetEncoder encoder)可以方便的以指定的编码方式存储字符串、InputStream asInputStream()方法从IoBuffer 剩余的未读的数据中转为输入流等IoFuture========在Mina
术语表 1.了解Mina&Rake Mina Deployer和自动化工具 RAKE - Ruby Make 2.获得Mina 准备系统 设置Ruby环境和Rails 安装Mina 3.使用Mina 启动...使用Mina,您几乎可以部署所有内容。 Mina的deploy.rb脚本实际上是带有一堆分组任务的RAKE文件。...安装Mina 有几种方法可以下载Mina,其中最简单的方法是使用RubyGems。...运行以下命令下载并安装Mina: gem install mina 使用Mina 在将mina引入项目时,首先需要在项目目录中启动mina。...启动Mina 输入项目目录并运行以下命令: # Enter your project directory: cd ~/project_dir # Initiate Mina mina init
这里以mina整合springMVC为例: //springMVC的配置: ...-- 配置业务处理类 --> 页面的代码片段,前端使用的是layim框架 var socket = null
概述: Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等...),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。...-- mina核心源码 --> org.apache.mina mina-core...; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.executor.ExecutorFilter...; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IoSession
mina有自带的解析http数据包的解码类。...可以使用maven配置一下内容获取源码: org.apache.mina mina-http 3.0.0-M2 或者下载mina的源码包,查看org.apache.mina.http.HttpServerDecoder...; import org.apache.mina.core.session.IoSession; import org.apache.mina.filter.codec.CumulativeProtocolDecoder...; import org.apache.mina.filter.codec.ProtocolDecoderOutput; import org.apache.mina.filter.codec.textline.LineDelimiter
本文是《NIO框架入门》系列文章中的第2篇,目录如下: 《NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示》(前篇) 《NIO框架入门(二):服务端基于MINA2的UDP双向通信...Demo演示》(本文) 《NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战》 《NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战》...找到MINA2的核心库文件 补充说明:因为MINA2中使用了slf日框架,需要找到相应的lib才能最终运行,具体下一段再说明。...建好MINA2的服务端Java工程 补充说明:MINA2中需要的slf日志框架的jar包,主要额外找到并导进来,不然不能最终运行哦。你也可以下载本Demo中的服务端源码,直接用就是了。...如果你阅读过本系列的上一篇《NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示》,应该能明显地感觉的出来MINA2的UDP服务端API接口使用要是Netty4的繁琐,而且MINA2
本文是《NIO框架入门》系列文章中的第4篇,目录如下: 《NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示》 《NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo...演示》 《NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战》 《NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战》(本文) 本篇亮点...- Netty4实现的服务端请见:《NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示》 - MINA2实现的服务端请见:《NIO框架入门(二):服务端基于MINA2的UDP双向通信...对于服务端的NIO框架来说,如果你阅读过本系列的《NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示》和《NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示》,...更多NIO框架资料整理 [1] MINA和Netty的源码在线学习和查阅: MINA-2.x地址是:http://docs.52im.net/extend/docs/src/mina2/ MINA-1.
本文是《NIO框架入门》系列文章中的第3篇,目录如下: 《NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示》 《NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo...演示》 《NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战》(本文) 《NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战》 本文亮点...的UDP双向通信Demo演示》 - MINA2实现服务端的准备工作请见:《NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示》 服务端代码实现 因两套方案的服务端代码都不复杂,且已经本系列文章的前两篇中详细介绍...- Netty4实现的服务端请见:《NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示》 - MINA2实现的服务端请见:《NIO框架入门(二):服务端基于MINA2的UDP双向通信...如果你阅读过本系列的《NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示》和《NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示》,应该能明显地感觉的出来MINA2
领取专属 10元无门槛券
手把手带您无忧上云