原文地址:http://mina.apache.org/mina-project/userguide/ch2-basics/application-architecture.html

鸟瞰图

内览图及各组件作用

广义上, 基于Mina的应用程序 分成3层

  • I/O Service - 实际的IO操作进行的地方
  • I/O Filter Chain - Filters/转换字节流为要求的数据格式 ,反之亦然。
  • I/O Handler -业务逻辑处理的地方

因此,为了创建一个基于mina的应用程序,你需要:

  1. 创建一个 I/O 服务 - 选择一个已经有的服务 (*Acceptor) 或者创建一个新的服务。
  2. 创建一个 Filter Chain - 选择一个已经有的过滤器或者创建一个自定义的过滤器来转换request/response
  3. 创建一个 I/O Handler - 在里面添加业务逻辑, 处理不同的消息。

服务器架构:

<不支持显示>

客户的架构:

<不支持显示>

转载于:https://www.cnblogs.com/davidwang456/archive/2013/04/05/3000377.html

mina应用程序架构(翻译)相关推荐

  1. 集中和分散架构之间的区别_分散式应用程序架构:后端,安全性和设计模式

    集中和分散架构之间的区别 Decentralized applications, or ÐApps, require a special system design to achieve high s ...

  2. 政府形象塑造_塑造业务应用程序架构的10大技术趋势

    政府形象塑造 技术往往会颠覆传统的流程​​灵活性,洞察力,交付速度,所有权和支持成本概念,从而改变业务应用程序. Forrester是一家全球研究和咨询公司,可帮助全球顶尖公司将变革的复杂性转变为业务 ...

  3. 可扩展的web单页应用程序架构

    可扩展的web单页应用程序架构 本文转载自:众成翻译 译者:杨小福 链接:http://www.zcfy.cc/article/1319 原文:http://blog.mgechev.com/2016 ...

  4. fir.im Weekly - iOS/Android 应用程序架构解析

    假如问你一个iOS or Android app的架构,你会从哪些方面来说呢? 本期 fir.im Weekly 收集了关于 iOS/Android 开发资源,也加入了一些关于 Web 前端方面的分享 ...

  5. Qt学习笔记,Qt程序架构设计要旨

    Qt学习笔记,Qt程序架构设计要旨 时间过得很快,转眼学习Qt已经有一个多月了,对Qt的学习也在不断的深入中.自己手下的code也很多了,不过不得不说,还有很多的部分没有接触过,比如网络编程,2D,3 ...

  6. python爬虫流程-Python爬虫程序架构和运行流程原理解析

    1 前言 Python开发网络爬虫获取网页数据的基本流程为: 发起请求 通过URL向服务器发起request请求,请求可以包含额外的header信息. 获取响应内容 服务器正常响应,将会收到一个res ...

  7. 单线程与多线程网络程序架构简介

    文章目录 1 单线程与多线程网络程序架构简介 1.1 服务端单线程处理多客户端 1.2 服务端多进程多端口处理多客户端 1.3 服务端多线程单端口分组处理多客户端 1.4 服务端多线程多端口分组处理多 ...

  8. GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean

    十年前,Martin Fowler撰写了GUI Architectures一文,至今被奉为经典.本文所谈的所谓架构二字,核心即是对于富客户端的代码组织/职责划分.纵览这十年内的架构模式变迁,大概可以分 ...

  9. 程序环境——翻译环境与执行环境

    本篇重点: 程序的翻译环境和执行环境 详解翻译环境中的 编译+链接 程序的翻译环境和执行环境 在ANSI的任何一种实现中,存在两个不同的环境. 翻译环境,在这个环境中源代码被转换为可执行的机器指令. ...

最新文章

  1. 分类模型的ROC曲线、AUC值、GINI系数、Lift、Gain、KS指标分别是什么?计算公式是什么?有什么意义?
  2. 服 务 器 时 间 设 置
  3. 计算机进制转换图,计算机等级考试进制转换及常用函数
  4. 北斗导航 | 基于RTK的GNSS与多源融合定位技术发展与挑战
  5. html语言调用图片,css文件中怎么引用图片?
  6. oracle错误:1067进程意外终止
  7. shell的logo含义_Shell(壳牌石油)标志历史
  8. 李国浩20179307第二周作业
  9. Java 集合练习——3
  10. 计算机四级的英文,计算机四级考试中英文术语对照
  11. python socket服务器_记-python socket服务器端四部曲
  12. golang for 循环中使用协程的问题
  13. 【BZOJ5005】乒乓游戏 [线段树][并查集]
  14. 专访 MindSpore 黄之鹏:围绕社区,探索开源深度学习框架的真正价值
  15. 机器学习基础算法10-回归
  16. redis:集群配置
  17. 平衡车 两轮平衡车扭扭车程序漂移车主板方案原理图pcb图程 两轮平衡车扭扭车程序体感车
  18. IT行业相关技术介绍
  19. 各种API以及事件初识——笔记
  20. 机房布线的最高境界 | 最后的暗黑系,真是亮瞎眼

热门文章

  1. mysql不能写重复键_错误1022-无法写入;表中的重复键
  2. Android中的ListView
  3. 使用C++访问MySQL数据库(VS2019)
  4. 关中断解决任务间资源共享问题
  5. foobar2000 ios版怎么添加音乐_抖音怎么设置说完话后再放音乐 视频先配音后半段添加背景音乐...
  6. 读《java的讲座》后感,老师讲座听后感
  7. opencv sobe 边缘检测算子
  8. c语言寻找James,[semi-tutorial]某亚里亚写在JamesM边上的OS笔记
  9. 数据中台产品经理面试指南(二)
  10. 深度神经网络(DNN)损失函数和激活函数的选择