what's MINA?
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 and UDP/IP via Java NIO.
Apache MINA is often called:
* NIO framework · library,
* client · server framework · library, or
* a networking · socket library.
the architecture of MINA based application
a deeper dive into the details
Broadly, MINA based applications are divided into 3 layers
* I/O Service - Performs actual I/O
* I/O Filter Chain - Filters/Transforms bytes into desired Data Structures and vice-versa
* I/O Handler - Here resides the actual business logic
So, how to create a MINA based Application
1. Create I/O service - Choose from already available Services (*Acceptor) or create your own
2. Create Filter Chain - Choose from already existing Filters or create a custom Filter for transforming request/response
3. Create I/O Handler - Write business logic, on handling different messages
Server Architecture
We have seen, MINA based Application Architecture in previous section. Lets focus on Server Architecture. A Server listens on a port for incoming requests, process them and send replies.
* IOAcceptor listens on the network for incoming connections/packets
* For a new connection, a new session is created and all subsequent request from IP Address/Port combination are handled in that Session
* All packets received for a Session, traverses the Filter Chain as specified in the diagram. Filters can be used to modify the content of packets (like converting to Objects, adding/removing information etc). For converting to/from raw bytes to High Level Objects, PacketEncoder/Decoder are particularly useful
* Finally the packet or converted object lands in IOHandler. IOHandlers can be used to full fill business needs.
Client Architecture
We had a brief look at MINA based Server Architecture, lets see how Client looks like. Clients need to connect to a Server, send message and process the responses.
* Client first creates an IOConnector (MINA Construct for connecting to Socket), initiates a bind with Server
* Upon Connection creation, a Session is created and is associated with Connection
* Application/Client writes to the Session, resulting in data being sent to Server, after traversing the Filter Chain
* All the responses/messages received from Server are traverses the Filter Chain and lands at IOHandler, for processing
link to user-guide

- 大小: 27.8 KB

- 大小: 26.9 KB

- 大小: 32.6 KB

- 大小: 24.7 KB
分享到:
相关推荐
- *She meant to attend Mina’s birthday party.*(她本打算参加米娜的生日派对。) - *What’s the meaning behind this story?*(这个故事背后的意义是什么?) 5. **Arrive at / Arrive in** - 定义:到达。...
Single chip high-speed serial link communications for multi-channel and multi-standard applications
职称计算机考试基础知识章节试题及答案汇总.doc
计算机二级excel中常考公式及讲解.docx
软件实施团队绩效考核程序.docx
电大数据库基础与应用试题.doc
内容概要:本文介绍了基于90nm CMOS工艺设计的全模拟5Gb/s时钟与数据恢复(CDR)电路。CDR电路用于从传输的数据流中恢复时钟并重新定时数据。该设计采用相位插值技术调整本地生成的5GHz时钟的相位以对齐5Gb/s输入数据流的相位。系统由二元相位检测器、电荷泵、环路滤波器、电压-电流转换器、相位插值控制器和相位插值器组成。通过调整本地时钟的相位而非频率,所有接收通道可以共享单个PLL,从而减少面积和功耗。此外,模拟相位插值控制器提供更高的相位调整分辨率和操作速度,且不需要进一步反序列化数据。设计还展示了各模块的具体电路图、布局和仿真结果。 适合人群:具备一定电子工程背景,特别是对高速通信电路设计有兴趣的研究人员和技术人员。 使用场景及目标:①适用于高速通信系统中时钟和数据恢复的设计与优化;②帮助工程师理解相位插值、模拟电路设计及其在高速数据传输中的应用;③为从事高速收发器设计的研究人员提供参考案例和技术细节。 其他说明:此资源详细展示了每个模块的工作原理及具体实现方式,包括相位检测器、相位插值控制器、比较器等关键组件的电路图和布局。同时提供了详细的仿真结果和芯片布局信息,有助于深入理解全模拟CDR电路的设计与性能评估。
算法分析与设计作业及参考答案.doc
软件公司企业系统调研报告.doc
使用Adam和LBFGS优化器基于PINN求解一维热传导方程论文复现-20250514.ipynb
管桩信息化配桩施工技术.doc
数据集介绍 SCUT-HEAD是一个大规模的头部检测数据集,人头检测计数本数据集包含A和B两部分,我将AB两部分合并在了一起,并遵循Pascal VOC标准。 数据描述 数据集包括4405张标有111251个头部的图像。该数据集由两部分组成。A部分包括从某大学教室的监控视频中抽出的2000张图像,其中有67321个头像的注释。B部分包括从互联网上抓取的2405张图片,有43930个头像被标注。我们用xmin、ymin、xmax和ymax坐标标记了每个可见的头像,并确保注释覆盖整个头像,包括被遮挡的部分,但没有额外的背景。PartA和PartB都被分为训练和测试部分。我们的数据集遵循Pascal VOC的标准。
计算机操作系统中央广播电视大学度第一学期开放专科期末考试.doc
网上书店可行性研究实验报告软件工程实验.doc
机械设备公司网站建设方案.doc
网站运营策划方案汽车团购网站运营策划方案.doc
计算机等级考试三级网络技术笔试试题.doc
湖南省计算机水平考试二级C语l言培训OFFICE操作题.doc
移动互联网产品推广运营方案.doc
利用卡尔曼滤波进行5G+GNSS松耦合