展开

关键词

NIOMina学习

前言: 找了篇文章看了看,nioMina用的最多!

6720

《Apache MINA 2.0 用户指南》第一章:入门

第一章 入门 本章中,我们将给你关于什么是 MINA、什么是 NIO、我什么我们在 NIO 之上开发了一个以及你会在其中找到什么等等的第一认识。 所需要的 考虑到这些不同,以及大多数应用程序在调用网络层的时候通常会期望一个阻塞模式,最好的解决方案就是通过写一个阻塞模式的模仿来隐藏掉这一表象。 最后,很重要的是,MINA 是一个专门设计既能工作在客户端又能工作在服务器端的网络MINA 附带有对各种现有协议的实现:HTTP、XML、TCP、LDAP、DHCP、NTP、DNS、XMPP、SSH、FTP ...在某种情况下,MINA 不仅可以作为一个 NIO ,也可以作为一个具有各种协议实现的网络传输层 特性 MINA 是一个简单但功能齐全的网络应用,它提供: 为不同的传输类型统一 API: 基于 Java NIO 的 TCP/IP 和 UDP/IP

69260
  • 广告
    关闭

    腾讯云618采购季来袭!

    一键领取预热专享618元代金券,2核2G云服务器爆品秒杀低至18元!云产品首单低0.8折起,企业用户购买域名1元起…

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mina相比有什么优势?

    Netty是目前最流行的由JBOSS提供的一个Java开源NIO,Netty提供异步的、事件驱动的网络应用程序和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 作为一个异步NIO,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。 Netty无疑是NIO的老大,它的健壮性、功能、性能、可定制性和可扩展性在同类都是首屈一指的。 它已经得到成百上千的商业/商用项目验证,如Hadoop的RPCAvro、RocketMQ以及主流的分布式通信Dubbo等等。 为什么这么火,是有原因的。 的文档更清晰,很多Mina的特性在Netty里都有; 4、Netty更新周期更短,新版本的发布比较快; 5、它们的构差别不大,Mina靠apache生存,而Netty靠jboss,和jboss的结合度非常高

    2.5K71

    NIO入门(二):服务端基于MINA2的UDP双向通信Demo演示

    前言 NIO的流行,使得开发大并发、高性能的互联网服务端成为可能。 《NIO入门》系列文章 有关MINA和Netty的入门文章很多,但多数都是复制、粘贴的未经证实的来路不明内容,对于初次接触的人来说,一个可以运行且编码规范的Demo,显然要比各种“详解”、“深入分析 本文是《NIO入门》系列文章中的第2篇,目录如下: 《NIO入门(一):服务端基于Netty4的UDP双向通信Demo演示》(前篇) 《NIO入门(二):服务端基于MINA2的UDP双向通信 Demo演示》(本文) 《NIO入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战》 《NIO入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战》 找到MINA2的核心库文件 补充说明:因为MINA2中使用了slf日,需要找到相应的lib才能最终运行,具体下一段再说明。

    48330

    NIO入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战

    当前由于NIO的流行,使得开发大并发、高性能的互联网服务端成为可能。 mod=collection&op=all - 移动端即时通讯交流群:215891622 《NIO入门》系列文章目录 有关MINA和Netty的入门文章很多,但多数都是复制、粘贴的未经证实的来路不明内容 本文是《NIO入门》系列文章中的第4篇,目录如下: 《NIO入门(一):服务端基于Netty4的UDP双向通信Demo演示》 《NIO入门(二):服务端基于MINA2的UDP双向通信Demo 对于服务端的NIO来说,如果你阅读过本系列的《NIO入门(一):服务端基于Netty4的UDP双向通信Demo演示》和《NIO入门(二):服务端基于MINA2的UDP双向通信Demo演示》, 更多NIO资料整理 [1] MINA和Netty的源码在线学习和查阅: MINA-2.x地址是:http://docs.52im.net/extend/docs/src/mina2/ MINA-1.

    59910

    NIO入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战

    NIO的流行,使得开发大并发、高性能的互联网服务端成为可能。 mod=collection&op=all - 移动端即时通讯交流群:215891622 《NIO入门》系列文章 有关MINA和Netty的入门文章很多,但多数都是复制、粘贴的未经证实的来路不明内容 本文是《NIO入门》系列文章中的第3篇,目录如下: 《NIO入门(一):服务端基于Netty4的UDP双向通信Demo演示》 《NIO入门(二):服务端基于MINA2的UDP双向通信Demo 演示》 《NIO入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战》(本文) 《NIO入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战》 本文亮点 - Netty4实现的服务端请见:《NIO入门(一):服务端基于Netty4的UDP双向通信Demo演示》 - MINA2实现的服务端请见:《NIO入门(二):服务端基于MINA2的UDP双向通信

    38610

    为什么不建议使用 Java 原生 IO?

    固有的复杂性和 Bug 不谈,作为一个 NIO 服务端,需要能够处理网络的闪断、客户端的重复接入、客户端的安全认证、消息的编解码、半包读写等情况, 如果你没有足够的 NIO 编程经验积累, 一个 NIO 的稳定往往需要半年甚至更长的时间 关于Netty: Netty是一个高性能、异步事件驱动的NIO,它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener 作为当前最流行的NIO,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty的NIO构建。 与Netty同样功能的NIO还有Mina,Netty的主导作者与Mina的主导作者是同一人,在设计理念上与Mina基本上是一致的。 Mina出身于开源界的大牛Apache组织,Netty出身于商业开源大亨Jboss。 这几年Netty社区相对比较活跃,所以我们就先选择Netty作为入手网络编程的首选,有时间再学习一下Mina

    14760

    自选股 : 微信小程序深度漫游指南

    描述: [1490775252841_6499_1490775253101.png] ( 冒着生命危险泄漏了微信小程序的图↑) 引用一段官方介绍: MINA 是微信提供的一套应用 在页面视图层,我们使用 wxml 搭建页面的基本视图,使用 css 控制页面的视图样式。 所以有了这么棒的底层,我们才更有信心把自选股这么重的应用搬到小程序里。 极致体验、极速开发 综上所述,微信小程序MINA有着接近原生app的运行速度,做了大量的层面的优化设计,对android端和iOS端做出了高度一致的呈现,并且准备了完备的开发和调试工具。 我们从MINA诞生至今跟随其一同演化发展,互相促进支撑,过程中MINA结构几经山崩地裂的调整,所有页面在前一秒还是好好的,更新开发工具后面目全非。

    1.7K00

    MINA实现UDP通信的例子

    概述: Apache Mina Server 是一个网络通信应用,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等 ),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。 -- mina核心源码 --> <dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-core IoHandler可以看成是Mina处理流程的终点,每个IoService都需要指定一个IoHandler。 (5.)IoSession:是对底层连接(服务器与客户端的特定连接,该连接由服务器地址、端口以及客户端地址、端口来决定)的封装,一个IoSession对应于一个底层的IO连接(在Mina中UDP也被抽象成了连接

    60220

    解Bug之路-TCP粘包Bug

    错误日志 线上系统用的Mina,不停的Dump出其一堆以16进制表示的二进制字节流。 ? ,并抛出异常 ? 首先定位异常抛出点 以下代码仅为笔者描述Bug之用,和当时代码有较大差别。 演绎 Mina在Buffer中解帧,前5帧正常。但是到第六帧的时候,只有两个字节,无法组成报文的4byte长度头,而代码没有针对此种情况做处理,于是报错。 Mina不停的接收数据,直到buffer区满,然后整个不停的解析出前5帧,到第6帧的时候,出错,然后dump出其尚未被解帧的数据。这就是第二段日志。 同时当Mina将数据(数据本身也是一个buffer)放到sessionBuffer的时候,也是将position到limit的数据放到新buffer中, 下面我们演绎一下第一次抛异常时候的flip 总结 Mina/Netty等各种网络给我们解决粘包问题提供了非常好的解决方案。但是我们写代码的时候也不能掉以轻心,必须时刻以当前可能读不够字节的心态去读取buffer中的数据,不然就可能遭重。

    38020

    (转载非原创)一个java页游服务器

    构已成功应用在了多款页游服务器 。在此中没有实现相关业务逻辑,只有简单的测试用的注册登陆功能。 但在此中添加相应的业务逻辑也是比较轻松的,只需要添加相应的协议,编写对应的消息处理器即可。    我们可以很容易的在次构中加入一个机遇web的管理系统,直接管理当前游戏服务器的在线玩家 三、通信层   java开发socket服务器最常用的就是mina和netty这两个nio。 但是由于mina在生产环境中没遇到什么问题,而且本人对mina源码比较熟悉,还是采用了mina作为通信层。 (netty3跟mina代码结构差不多,但是netty4变化比较大,本人稍微未对源码理解透) 通信协议:flag(1 byte)+length(4 byte,消息号加消息内容的长度)+protocol

    11730

    NIO入门(一):服务端基于Netty4的UDP双向通信Demo演示

    前言 NIO的流行,使得开发大并发、高性能的互联网服务端成为可能。 这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2、而Netty的主要版本是Netty3和Netty4(Netty5已经被取消开发了:详见此文)。 题外话 社区里经常在争论到底该用MINA还是Netty,比如这几篇文章:《开源NIO八卦——到底是先有MINA还是先有Netty?》 秒后进入下一次循环 Thread.sleep(3000); } } } 补充说明:客户端代码没有使用任何依赖,纯Java UDP代码实现(如果是Andriod平台,代码也几乎不用改就能用),部分代码修改自开源即时通讯 更多学习资源 [1] MINA和Netty的源码在线学习和查阅: MINA-2.x地址是:http://docs.52im.net/extend/docs/src/mina2/ MINA-1.x地址是:

    85120

    如何创建一个兼容「微信小程序」的Web:WIN

    我的第一反应是:创建一个兼容「微信小程序」的Web——它即可以在微信上运行,也可以在Web上,还有作为一个混合应用运行。 在微信web开发者工具里,它封装了足够多的细节。 因为「微信小程序」的是叫MINA,所以让我们称呼这个为WINV。 设计构思 基本的设计点有: 兼容微信小程序的语法——它并没有多少复杂的语法。 在之前的文章里,我们提到了MINA的基本原理,也差不多就是组件: WXML转JSON Virtual DOM组件 Virtual DOM组件,并在这其中提供双向绑定 UI组件转换器,即将WXML转换为 一个WINV的Demo 计划了好几天的Demo,终于写完了,并且可以出来溜溜了~~。 至于,对事件和数据的判断还是和MINA一致: if('on' === option.slice(0, 2)) 简单,而又粗暴。

    52150

    147 - 修炼 - 小程序的知识点16

    上周我们聊完了基础的三大件 WXML、WXSS、WXS,这周我们来聊聊 MINA 这个MINA 是一个,它可以让数据与视图简单地保持同步。 的核心是一个响应性质的数据绑定系统,这个系统分为视图层(View)和逻辑层(App Service)这两个部分。

    17320

    少啰嗦!一分钟带你读懂Java的NIO和经典IO的区别

    附录:更多NIO异步网络编程资料 《Java新一代网络编程模型AIO原理及Linux系统AIO介绍》 《有关“为何选择Netty”的11个疑问及解答》 《开源NIO八卦——到底是先有MINA还是先有 《选Netty还是Mina:深入研究与对比(一)》 《选Netty还是Mina:深入研究与对比(二)》 《NIO入门(一):服务端基于Netty4的UDP双向通信Demo演示》 《NIO入门 (二):服务端基于MINA2的UDP双向通信Demo演示》 《NIO入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战》 《NIO入门(四):Android与MINA2、 高级篇(一):IoFilter详解》 《Apache Mina高级篇(二):IoHandler详解》 《MINA2 线程原理总结(含简单测试实例)》 《Apache MINA2.0 开发指南 》 《写给初学者:Java高性能NIONetty的学习方法和进阶策略》 《少啰嗦!

    73031

    少啰嗦!一分钟带你读懂Java的NIO和经典IO的区别

    附录:更多NIO异步网络编程资料 《Java新一代网络编程模型AIO原理及Linux系统AIO介绍》 《有关“为何选择Netty”的11个疑问及解答》 《开源NIO八卦——到底是先有MINA还是先有 《选Netty还是Mina:深入研究与对比(一)》 《选Netty还是Mina:深入研究与对比(二)》 《NIO入门(一):服务端基于Netty4的UDP双向通信Demo演示》 《NIO入门(二 ):服务端基于MINA2的UDP双向通信Demo演示》 《NIO入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战》 《NIO入门(四):Android与MINA2、Netty4 高级篇(一):IoFilter详解》 《Apache Mina高级篇(二):IoHandler详解》 《MINA2 线程原理总结(含简单测试实例)》 《Apache MINA2.0 开发指南(中文版 》 《写给初学者:Java高性能NIONetty的学习方法和进阶策略》 《少啰嗦!

    37330

    微信小程序视图层之wxml

    本文链接:https://blog.csdn.net/bbwangj/article/details/101695765 WXML(WeiXin Markup Language)是设计的一套标签语言 --wxml--> <view> {{message}} </view> // page.js Page({ data: { message: 'Hello MINA!' WEBVIEW'}}"> WEBVIEW </view> <view wx:elif="{{view == 'APP'}}"> APP </view> <view wx:else="{{view == '<em>MINA</em> '}}"> MINA </view> // page.js Page({ data: { view: 'MINA' } }) 模板 <!

    22320

    微信小程序常见的UI组件库总结

    想要开发出一套高质量的小程序,运用,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的/组件库。 小程序开发中最常用到的一款,受广大开发人员的欢迎。 ? 图片.png 4:官方MINA 地址:https://developers.weixin.qq.com/miniprogram/dev/framework/MINA.html 官方介绍:提供了自己的视图层描述语言 图片.png 5:Tina.js 一款轻巧的渐进式微信小程序 Tina.js 开源地址: https://github.com/tinajs/tina 官方介绍:是一款轻巧的渐进式微信小程序 ,保留 MINA (微信小程序官方) 的大部分 API 设计;无论你有无小程序开发经验,都可以轻松过渡上手。

    6.7K40

    高性能NIONetty入门篇

    Netty介绍 Netty是由JBOSS提供的一个java开源。Netty提供异步的、事件驱动的网络应用程序和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于NIO的客户、服务器端编程,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。 支持多种编解码功能,支持多种主流协议 成熟,稳定,已经在多个大型中使用(dubbo,RocketMQ,Hadoop,mycat,Spring5) ….. 在几年之前我上家公司用的是Mina来开发一个IM的系统,Mina也是一个很好的(http://mina.apache.org/)。 如今很多的都改成用Netty来做底层通讯了,我司现在还有一个代理Mina写的,等把Netty玩遛了可以重构了。

    593100

    相关产品

    • Serverless  SSR

      Serverless SSR

      Serverless SSR 基于云上 Serverless 服务,开发了一系列服务端渲染框架组件,目前支持 Next.js, Nuxt.js 等常见 SSR 框架的快速部署,帮助用户实现框架迁移, “0”配置,SEO 友好,首屏加载速度快,为用户提供了便捷实用,开发成本低的网页应用项目的开发/托管能力。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券