Mina学习笔记(1) mina简介

Mina学习笔记 Mina学习笔记。作者:李少华 立即下载
1、简介

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP 协议栈的通信框架(当然,也可以提供Java 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是Java NIO 作为底层支持)操作的编程模型。

Apache Mina也称为:

l NIO框架

l 客户端/服务端框架(典型的C/S架构)

l 网络套接字(networking socket)类库

2、通信流程

那么让我们来看一下mina在我们应用中处于什么样的一个位置呢

上图可以看出mina位于应用程序和底层网络传输之间,它不关心底层网络数据如何传输,只负责接收底层数据,过滤并转换为Java对象提供给我们的应用程序,然后把应用程序响应值过滤并转换为底层识别的字节,提供给底层传输。

再来看一下mina 通信流程图

可以很清晰看出mina主要有三个主要的业务接口:IoService,IoFilter 和 IoHandler

(1) IoService:这个接口在一个线程上负责套接字的建立,拥有自己的Selector,监听是否有连接被建立。
(2) IoFilter:    这个接口定义一组拦截器,这些拦截器可以包括日志输出、黑名单过滤、数据的编码(write 方向)与解码(read 方向)等功能,其中数据的encode 与decode
                          是最为重要的、也是你在使用Mina 时最主要关注的地方。
(3) IoHandler:这个接口负责编写业务逻辑,也就是接收、发送数据的地方。

总的来说创建一个基于mina框架的应用分为三个模块:  创建连接(IoService))——>添加消息过滤器(IoFilter)——>添加业务处理(IoHandler)

3、server 和 client

mina中server和client没有多大区别都是通过Ioservice 建立连接和通信的,来看下具体流程

Server 一般地,服务端会有一个端口来监听client的请求/packet,并且为每隔connect建立一个session(无论是基于TCP/IP协议还是UDP协议),Server端主要通过IoAccptor建立连接

IOAcceptor  继承自IoService 主要用于监听网络进来的connecter和packet,对于一个新的连接首先会创建一个session,连接创建之后请求消息会从你的地址和监听的端口中进来并封装

所以的packet接收完成之后如上图所示,过滤器链会对其进行过滤,过滤完成之后会交给IoHandler进行业务处理,这就是一个请求到达server后mina的处理流程。

 

client 一般地,client端主要功能为何server建立连接发送消息和处理server传回的消息,client主要通过IoConnector建立连接,流程如下

1、client端首先通过IoConector与server建立连接,初始化并绑定改到server,连接建立后会和一个session绑定

2、建立连接之后,如果要发送数据到server那么所发送的数据也会经过filter进行过滤器链之后再发送到server

原文转载至http://blog.youkuaiyun.com/cnicys/article/details/8525612写的非常清晰

uniapp - 最新详细实现web-view网页与安卓苹果App端之间互相通信功能,苹果app/安卓app平台与内嵌webview组件内的网页进行相互传值,内置网页与app双向实时通信,详细示例代码 uni-app,Android安卓,苹果ios,app,内嵌webview,第三方H5网页,app和web-view通信传值,web-view引入的页面向App主应用传递数据,App端与webview端相互通信,App端和H5端webview之间的通信,uniapp实现webview和APP之间的传值通信,如何互相传递对象数据,数据传递了接收不到,web-view页面向app内发送消息,监听传递的参数,uni-app和web-view页面相互传参,报错怎么办,跨域,屏幕空白出错,数据交互,解决手机物理返回按 阅读详情

相关推荐

冷源法测试噪声系数(Noise Figure)详细步骤

背景知识 电阻负载的功率谱密度 噪声等效模型 3 4 冷源法测试步骤 注意事项

eleday的电子世界 6874

mina简介

1、简介 Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP 协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。

温水青蛙 865

MT4/MT5数据源接入全攻略:从买服务、自研API到低成本DDE,哪种方案适合你?

本文全面解析MT4/MT5数据源接入的三种主流方案:商业服务、自研API和低成本DDE,详细对比其技术参数、成本结构和适用场景。帮助技术团队根据业务需求选择最优方案,确保外汇交易系统的数据流稳定性和实时性,提升交易体验和业务连续性。

weixin_42568801的博客 176

[MINA2.0源码](一)服务端建立监听——NioSocketAccepter

MINA源码的SVN地址https://svn.apache.org/repos/asf/mina/mina/tags/2.0.7 MINA源码结构紧凑,各类分工明确,以处理Socket的相关类为例,主要有:NioSocketAcceptor、NioProcessor、NioSocketSession、NioSocketConnector NioSocketAcceptor是服务端用于初始化,

woorh的专栏 2002

如何使用obspy下载地震波形数据

如果你是地震研究学者,或者需要进行地震方面的研究,那么地震数据下载是一个必不可少的流程,本文将告诉你如何使用obspy下载想要的地震数据

monsterk1的博客 2078

Android 15.0 首次开机默认授予app运行时权限(去掉运行时授权弹窗)

在15.0的系统rom产品定制化开发中,在6.0以后对于权限的申请,都需要动态申请,所以会在系统首次启动后,在app的首次运行时, 会弹出授权窗口,会让用户手动授予app运行时权限,在由于系统产品开发需要要求默认授予app运行时权限,不需要用户默认授予运行时弹窗,所以需要在首次开机默认授予所有app运行时权限

安卓兼职framework和app工程师的博客 1204

java之网络通信框架mina

一 mina 1.1 mina作用概述 mina是一个基于java nio的网络通信框架。主要屏蔽了网络通信的一些细节,对Socket进行封装,并且是NIO的一个实现架构,可以帮助我们快速的开发网络通信,常用于游戏的开发、中间件服务端的程序中。 Mina最主要的工作就是把底层传输的字节码转换为Java对象,提供给应用程序;或者把应用程序返回的结果转换为字节码,交给底层传输。 1.2 mina传输数据的类型 ...

健康平安的活着的专栏 6641

AD9613操作控制

输出250M时钟给AD9613,过FPGA ILA逻辑分析仪将AD9613采集的两个通道ADC数据250M数据显示出来。其中AD9613输出的是LVDS数据,通过select IO核转为并行数据。 一,搜索IP核:selectIO interface wizad ,并双击配置 配置为input,DDR模式,数据位宽为12bit,IO类型为差分,这里配置的是12对数据差分对。然后配置外部差分时钟。 将tap setting 设置为13,将时钟的边沿对准数据的中间,以免数据出错 二,

wangjie36的博客 4050

Java之网络通信框架mina

mina是一个基于java nio的网络通信框架。主要屏蔽了网络通信的一些细节,对Socket进行封装,并且是NIO的一个实现架构,可以帮助我们快速的开发网络通信,常用于游戏的开发、中间件服务端的程序中。Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使。

qq_43842093的博客 1665

ADAS方案设计-CAN网络管理与休眠唤醒机制

文章摘要:本文介绍了车载控制系统的五种工作模式及其转换条件,包括睡眠模式、准备睡眠模式、就绪睡眠模式、正常工作模式和重复消息状态。系统唤醒条件包括接收到网络管理报文或电源ON档信号,休眠条件则需满足电源OFF档、功能完成等多重要求。针对下挂节点的网络管理报文发送规则,详细说明了不同状态下的报文发送策略,特别是在哨兵模式、OTA模式等特殊场景下的处理方式。系统在满足休眠条件后会立即停止发送下挂节点网络管理报文,确保电源管理的有效性。

xiandang8023的博客 325

Yolov8-pose关键点检测:训练准备篇 | 自己数据集从labelme标注到生成yolo格式的关键点数据

yolov8-pose关键点检测系列:从数据集标记到生成适合yolo的关键点格式

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 5875

Mina是什么

Mina是什么? Apache Mina Server 是一个网络通信应用框架。Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步操作的编程模型,Mina 的异步IO 默认使用的是JAVA NIO(New IO)作为底层支持,基于Channel的双向通道。Mina 同时提供了网络通信的Server端、Client端的封装,无论是哪端,Mina在整

杨柳明 4265

R语言单因素被试内ANOVA检验

在R语言中,我们可以使用多种方法进行被试内ANOVA检验,其中包括使用内建函数或使用外部包。我们随机选择了10个被试,并对每个被试使用了三种不同的药物处理。通过上述代码示例,我们可以使用R语言进行单因素被试内ANOVA检验。假设我们的数据存储在一个名为"data"的数据框中,其中包含两个列:一个列是被试的编号,另一个列是生物指标的测量值。在上述代码中,我们创建了一个名为"data"的数据框,其中"Subject"列包含了被试的编号,"Measurement"列包含了生物指标的测量值。参数指定了数据来源。

PixelNovaO的博客 364

apache MINA简介

前面对 java NIO 有了较深入的了解,对 NIO的特性也有了理解,今天有空 初步了解些 apache MINA框架,按照官方的说法。 Apache MINA(Multipurpose Infrastructure for Network Applications) 是一个网络应用框架,有助于用户非常方便地开发高性能、高伸缩性的网络应用。它通过Java NIO提供了一个抽象的、事件驱动的、异

我的山水 1859

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

mina java c_Mina简介

Mina简介Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在...

weixin_42540248的博客 287

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

MINA 框架简介

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。Mina 主要有1.x

青春继续 3万+

Mina简介

Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使Java NIO在各种传输协议(如TCP/IP,UDP/IP协议等)下快速高效开发。 Apache Mina也称为:     1.NIO框架     2.客

Lee的博客 1230

apache mina 学习笔记之一:mina简介和环境搭建

Mina简介:              Apache MINA 是一个网络应用框架,有助于用户非常方便地开发高性能、高伸缩性的网络应用。它通过Java NIO提供了一个抽象的、事件驱动的、异步的位于各种传输协议(如TCP/IP和UDP/IP)之上的API, Apache MINA 通常可被称之为:               NIO 框架库; 客户端/服务器框架库; 或者一个网络soc

zhouzhiwengang的专栏 3434

Apache-mina学习笔记,非常全都资料,附带大量实例

Apache Mina2 学习笔记             目录 引言. 3 一.    Mina入门. 3 第一步.下载使用的Jar包. 3 第二步.工程创建配置. 4 第三步.服务端程序. 4 第四步.使用telnet命令来测试服务端. 6 第五步.客户端程序. 9 第六步.长连接VS短连接. 11 第七步.入门程序0212 第八步.入门程序

有 prepare , No out 1万+

Android MINA框架之实战总结(一) Mina连接,断开,重连

一 前言 二 MINA体系结构Mina鸟瞰图 Minamina组件结构图 Mina服务端结构 Mina客户端结构 三 参考资料 四 下载资料 五 服务器搭建第一步下载使用的Jar包 第二步服务端程序 第三步运行DemoServerjava文件成功后的效果图如下 六 Android客户端第一步导入下载后的客户端项目 第二步客户端程序 七 连接 八 断开 九 断线重连 十 长连接和短连接(一). 前言

长舞 2万+

java mina框架实例_MINA框架简介和一个简单的例子

基于MINA框架快速开发网络应用程序1.MINA框架简介MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。MINA框架的应用比较广泛,应用的开源项目有Apache ...

weixin_29735819的博客 827

mina php,Apache Mina简介

简介Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序。它提供了一个通过Java NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步API。MINA虽然简单但是仍然提供了全功能的网络应用程序框架:● 为不同的传输类型提供了统一的API:○ 通过Java NIO提供TCP/IP 和 UDP/IP支持○ 通过RXTX提供串口通讯(RS...

weixin_39669701的博客 158

MINA框架简介

1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。MINA框架的应用比较广泛,应用的开源项目有Apache Directory、AsyncWe...

MF_Mofy的博客 2713

Mina2 与 Mina1变化

一、Mina2 与 Mina1变化。 因为MINA ByteBuffer 与JDK中NIO ByteBuffer 同名,ByteBuffer 被重命名为 IoBuffer。不仅使类名简化,也使类名称更加明确。放弃 Buffer 池,默认使用IoBuffer.allocate(int) 来分配 heap buffer。acquire() 与 release() 两个方法将不再容易发生错误,可以调用 free()方法。在大多数JVM中,框架内置的IoBuffer 性能更加强劲稳定。

fanyun7654的专栏 2018

Mina框架学习笔记(一)

<br /> <br /> <br />Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract · event-driven · asynchronous API over various transports such as TCP/IP

凌云壮志 1万+
上一篇: 阿里云 oss服务器文件上传 java
下一篇: JMS 之 ActiveMQ
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值