继续上一篇,这篇主要讲通过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的优势,如果直接用Nio编写,则需要自己编写代码来实现类似Processor的功能。...SocketChannel,SessionConfig和IoService.IoHandler的引用) 2.通过IoSession.write 是数据写出的入口 关于线程 ThreadModel 1.x版本的mina...SocketConnectorConfig cfg = new SocketConnectorConfig(); cfg.setThreadModel(ThreadModel.MANUAL); MINA...Connector Thread :一般作为客户端的请求建立链接线程,实现了接口IoService,维持了一个和服务器端Acceptor的一个链接,线程数量就是创建SocketConnector 的数量 Mina
一、介绍 Apache Mina是一个网络应用框架,简化用户开发高性能、高可扩展性的网络应用程序的难度。...Apache Mina经常用作: 1)NIO框架库 2)客户端/服务器通信框架库 3)网络Socket通信库 Apache Mina还伴随有不少子项目: 1)Asyncweb 构建于Apache Mina....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、...; importorg.apache.mina.core.session.IdleStatus; importorg.apache.mina.core.session.IoSession; public
前言: 找了篇文章看了看,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客户端和服务端的通讯,现在通过源码来了解建立连接和通讯的过程(基于tcp/ip的实现)。...HelloWorld例子里面实现的是基于TCP/IP协议的通讯,用了mina默认的实现类NioSocketAcceptor和NioSocketConnector。...代码 绑定完成后唤醒NIO的selector开始接收请求 Java代码 selector.wakeup(); 小结: 通过解析NioSocketAcceptor的构造方法,bind()等代码大概了解了mina...服务端初始化相关的一些信息,同时涉及了mina框架相关的IoProcessorIoSessionIoServiceListener等,在下一篇文章中会再做进一步的分析接收到最终的处理请求的过程。
一、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
当前发行的 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...; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.LineDelimiter
什么是Mina框架 Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。...Mina主页 下载地址 为什么使用Mina? 传统socket:阻塞式通信 每建立一个Socket连接时,同时创建一个新线程对该Socket进行单独通信(采用阻塞的方式通信)。...; 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
基于MINA框架快速开发网络应用程序 1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架...MINA框架当前稳定版本是1.1.6,最新的2.0版本目前已经发布了M1版本。...版本为基础,通过一个范例来演示一下如何使用MINA框架进行开发。...框架来开发的网络应用程序代码结构更清晰;MINA框架完成了底层的线程管理;MINA内置的编码器可以满足大多数用户的需求,省去了开发人员消息编码解码的工作。...具称使用MINA开发服务器程序的性能已经逼近使用 C/C++ 语言开发的网络服务。因此,建议在网络应用程序开发过程中尝试使用MINA框架来提高我们的开发效率和应用程序的执行效率。
Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina...可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。...Mina 主要有1.x 和2.x 两个分支,这里我们讲解最新版本2.0,如果你使用的是Mina 1.x,那么可能会有一些功能并不适用。...MINA 框架简介 当客户首次访问采用MINA编写的程序时,IoAcceptor作为线程运行,负责接受来自客户的请求。...编写 Handler 类就是使用 MINA 开发网络应用程序的重心所在,相当于 MINA 已经帮你处理了所有的通讯方面的细节问题。
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文件。...Ruby的安装,让我们让RVM下载并安装Ruby版本2.1.0: rvm reload rvm install 2.1.0 由于Rails首先需要一个JavaScript解释器才能工作,我们还需要设置Node.js...安装Mina 有几种方法可以下载Mina,其中最简单的方法是使用RubyGems。...运行以下命令下载并安装Mina: gem install mina 使用Mina 在将mina引入项目时,首先需要在项目目录中启动mina。
这里以mina整合springMVC为例: //springMVC的配置: ...-- 配置业务处理类 --> <bean class="org.springboot.<em>mina</em>.codec.WebSocketCodecFactory
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
),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。...-- mina核心源码 --> org.apache.mina mina-core...; import org.apache.mina.core.future.WriteFuture; import org.apache.mina.core.session.ExpiringSessionRecycler...; 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异步IO使用的Java底层JNI框架,Mina提供服务端和客户端,将我们的业务解耦开发.真正做到高内聚低耦合的思想核心类===IoService :Mina中将服务端和客户端都看成是服务,这里提供统一接口...比如Mina框架中用来创建服务端类NioSocketAcceptor。他直接继承了AbstractPollingIoAcceptor。...剩下的事情已经和Mina基本没多大关联了。我们将在这里处理业务逻辑,使用到的就是Handler提供的接收消息和发送消息两个功能。...总结== 今天我们了解了Mina工作的流程,主要就是IoFilter和IoHandler实现消息的通信 。 千里之行始于足下,一点一点的进步。...下面贴出一份总结的图谱帮助我们理解Mina流程我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!
参考: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
因组里项目需要,我和另外一名同事要学习Node.js。...Node.js架构 ? 1. Node.js跨平台支持*nix与Windows得益于Libuv中间层,通过它去调用不同操作系统的底层操作。 2....Node.js特点 1. 单线程 优点:无需像多线程编程在意状态的同步问题,因此无死锁问题,也避免了线程上下文切换带来的性能开销 2....初学网络编程 Node.js标准库提供了http模块,其中封装了一个高效的HTTP服务器和一个简易的HTTP客户端。...Node.js学习资料 1. 《Node.js入门指南》,推荐,适合入门 2. 《深入简出Node.js》,有深度,推荐 五. 其他备忘 1.
[- 7 -] NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战 [附件下载][链接] http://www.52im.net/thread-388-1-1.html...[摘要] 本文中,服务端将分别用MINA2和Netty4进行实现,但在你实际的项目中服务端实现只需选其一就行了。...[- 8 -] NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战 [附件下载][链接] http://www.52im.net/thread-378-1-1.html[摘要...MINA2的UDP服务端和一个标准UDP客户端(Java实现)双向通信的完整例子。...node.js+socket.io [附件下载][链接] http://www.52im.net/thread-516-1-2.html[摘要] 本文将基于HTML5规范中的WebSocket技术,使用Node.js
这就是 MINA 所做的事情! 但是 MINA 做的事情不仅于此。它为需要通过 TCP、UDP 或者任何机制通信的应用提供了一个通用 IO 幻像。...MINA 并不期望在任何情况下都是最好的选择。在考虑使用 MINA 之前要思考几个要素: 易于使用。...继承于 Netty 开始的步骤 我们将通过运行一个 MINA 包提供的很简单的例子给你演示使用 MINA 是多么简单。...想要在你的应用中使用 MINA 的第一件事是要设置环境。我们将描述你需要安装什么,以及如何运行一个 MINA 程序。没啥大不了的,先来体验一下MINA 吧 ......运行你的第一个 MINA 程序 下载完发布版之后,让我们运行一下发布版附带的第一个 MINA 例子吧。
领取专属 10元无门槛券
手把手带您无忧上云