Mina网络通信框架

      最后更新:2021-12-05 16:38:01 手机定位技术交流文章

      认识 Mina

      网络通讯应用框架, 取决于Mina的建筑。

      Mina主要针对TCP/IP-UDP/IP-PDP/IP-通信框架,它可以帮助我们迅速发展高性能、高广度的网络通信应用,Mina提供了一个由事件驱动的无症状的编程模式,而Mina的分步骤IO默认利用JAVA NIO(新IO)作为底线支持,其基础是海峡双向通道。 Mina基本上有一个。

      img

      Mina的基金会主要以Java NIO图书馆为基础,该图书馆提供以事件为基础的贫血接口。

      • 服务: iOService 的底端是 IOService, 负责与 IO 有关的具体任务。 此层的吉普赛代表是 IOSocketAceptior 和 IOSocketchanel, 分别对应服务端的IOService 和 TCP 协议下的客户。 IOService 的含义是隐藏底端 IO 的细节, 并提供统一的基于事件 IO 界面。 数据一到, IOService 就会先拨打底端 IO 界面, 读取数据, 将其包裹到 IoBuffer, 然后以事件的形式告知顶部代码, 从而将 Java NIO 界面转换成一个逐步的 IO。 所以从图中, 通过 IOService 层的低级别 IO 成为 IO 事件 。 可以查阅特定代码 。org.apache.mina.core.polling.AbstractPollingIoProcessor内部私人类别
      • 处理器: 在另一条线索中, 此界面负责确定频道上是否有数据可以读写, 即它还有它自己的Selecor, 不同于 JAVA NIO 代码, 后者通常使用 Selecor, 即 IoServicice 和 IoProcessor 功能接口。 此外, 处理器在过滤链后引用在 IoService 和 IoHandler 上注册的过滤器 。
      • IoFilter : 此界面指定一组拦截器, 包括日志输出、 黑名单过滤器、 数据编码( 文字方向) 和解码( 读方向), 其中数据编码和解码是您 Mina 使用时最重要的焦点 。
      • IoHandler : 这个界面可以提供接收和传输数据的商业逻辑。 这个界面必须由开发者自己完成。 IoHandler 可以被视为 Mina 过程的结束, 而每个 IoService 都必须定义一个 IoHandler 。
      • 日会 : 日会对应的是底端 IO 连接( 米那的 UDP 是一个抽象链接), 作为底端连接( 服务器和客户端之间的特定连接, 由服务器地址、 端口和客户端地址、 端口决定) 的掩护 。 通过 日会, 您可以访问与当前连接相关的背景信息, 并将数据发送到远程对等方 。 发送数据也是一个渐进的过程 。 发送操作首先通过 IoFilter 链路进行反向, 然后到达 IoServicice 。 然而, IoServicice 将不会直接调用底端 IO 接口将数据发送出去, 但是会将此呼叫安装到一个写入请求中, 并放到会的写请求 Quue 中, 并发送 IoProcessor 线索 。 因此, 发送此发送操作不会导致大调线被阻断 。 可以查看具体的代码 。org.apache.mina.core.filterchain.DefaultIoFilterChain内部类头 Filter 的过滤 write 函数 。

      服务端流程:

      • 使用 SocketAcceptor 连接到客户端 。
      • I/ O 读写在创建连接时指定给 I/ O 处理线; I/ O 处理线是多线的。
      • I/O 处理器读取的数据由所有配置的 IoFilters 、 IoFilters 和 IoFilter 链中的 IoFilters 过滤和格式化,在那里可以建立自定义协议。
      • 最后,IoFilter将数据传送给Handler,供业务处理,完成阅读过程。

      写入过程相似, 但通过 IoSaymond 将数据反转。 写入数据, 然后处理器执行书面业务处理, 完成后传递给 IoFilter 链, 用于信件过滤和协议转换, 并完成通过 I/ O 处理器将数据发送到套接字频道 。

      TCP 服务员基本基本

      步骤2:准备临时服务

      第二步:编写过滤器

      步骤3:建立IoHandler

      这个IoHandler应该在 IoServices 注册:

      当然,这是在实施之前的代码.bind()程序。

      符合技术性洁净生产中心基本要求

      步骤2:准备临时服务 并注册过滤器

      步骤3:建立IoHandler

      IoHandler 的处理器 :

      Mina网络通信框架

      由于传统的Socket网络编程所依据的是一条线如何与客户如何完成它相吻合,而且大量线条的创建和销毁导致无法应付大量接入,基于服务器端的网络通信发展是最常用的Mina网络通信框架版本,通常称为Java NIO(Java NIO(Java NIO)),通常的传统Socket网络编程所依据的是线条如何与客户如何完成,大量线条的创建和销毁导致无法应付大量接入,基于服务器端的网络通信发展是最常用的Mina网络通信框架版本,通常称为Java NIO(Java NIO(Java NIO)(Java 非Broking IO)。

      让我们看看Mina最重要的界面:

      然后我们检查米娜的关键班级之一, 即IoHandlerAdapter, 它只是执行IoHandler界面, 却什么都不做。
      在IoHandler接口(从MINA获得的API文件)中可以找到下列方法:

      以下是MINA服务器网络框架是如何创建的:

      1. 进口以下罐装货包:Mina-core-2.image,由Flickr用户pic.twitter.com-thirteen.Jar、 slf4j-api-1.Sventeen.Jar、 slf4j-api-1.Sventeen.Jar、 slf4j-api-1.17j-api-1.Jar、 slf4j-api-1.Sventeen.Jar、 slf4j-api-1.

      img

      2. 建立一个接受者,捆绑一个手持者,建立一个过滤器,连接一个港口。

      3. 自行制作自己的处理器。

      4. 因为默认过滤器: TextLineCodeAcactory 只处理以换行结束的信件, 偶尔需要定制工厂来满足独特的需求 。

      5. 累积议定书经常使用Decoder来缓解数据损失问题。

      因此,整个服务器框架已经完成。 它是否比Socket要复杂? 以下的笔将为您提供一个完整的箱子以及随附的罐子软件包和源代码 。

      博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/14276.html

          热门文章

          文章分类