第一章 入门 本章中,我们将给你关于什么是 MINA、什么是 NIO、我什么我们在 NIO 之上开发了一个框架以及你会在其中找到什么等等的第一认识。我们也将会给你演示如何在一台 MINA 的服务器上运行一个很简单的例子。 NIO 概述 NIO API 是由 Java 1.4 引入的,从此被广泛用于各种应用。NIO API 封装了 IO 非阻塞操作。 首先,最好了解一下 MINA 是基于 NIO 1 写的。Java 7 设计了一个新版本 NIO-2,(因为我们基于 NIO 1) 我们并没有从
大家都知道,地球上按照经度分成24个时区,每个时区相差一个小时。一般来说每个国家法定的时间都对应一个时区,比如中国用的东八区时间,韩国用的东九区时间,韩国时间比中国快一个小时。同时,很多高纬度国家都实行夏令时,即每到夏天把时钟拨快一个小时,每到冬天再把时钟拨慢一个小时,比如德国。
Mina各组件介绍上一篇文章已经系统的介绍了Mina的运行流程,Apache推出的Mina性能上很是高效,上章节我们知道内部有很多的类,各个类之间的依赖也是很多,他们之家都是相互依赖。下面主要看看各个类中的方法。本篇就当是Mina的文档了。一下总结来源于网络:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136303.html原文链接:https://javaforall.cn
如果您正在寻找一种方法来帮助某些您每天执行的操作,正如简单的搜索显示的那样,可用的工具很多。如果您检查它们,会发现这些都声称可以使您的应用程序在线(即部署)更容易。但是,它们之间几乎没有区别 - 而且使用起来也很复杂。
Apache Mina是一个网络应用框架,简化用户开发高性能、高可扩展性的网络应用程序的难度。Mina提供了一个抽象的事件驱动的异步API,通过Java NIO实现各种传输协议如TCP/IP和UDP/IP。
Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中。目前正在使用 MINA 的软件包括有:Apache Directory Project、AsyncWeb、AMQP(Advanced Message Queuing Protocol)、RED5 Server(Macromedia Flash Media RTMP)、ObjectRADIUS、Openfire 等等。
本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo。
NIO框架的流行,使得开发大并发、高性能的互联网服务端成为可能。这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2、而Netty的主要版本是Netty3和Netty4(Netty5已经被取消开发了:详见此文)。
本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo。服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了。同时用MINA2和Netty4分别实现服务端的目的,是因为很多人都在纠结到底是用MINA还是Netty来实现高并发的Java网络通信服务端,在此干脆两个都实现了,就看你怎么选择了,够吊吧。
mina框架是对nio进行的一个封装,可用于java的网络编程,包括TCP/IP和UTP/IP编程,主要屏蔽了网络通信的一些细节,对socket进行封装,并且是用nio的一个实现框架,mina的主要类如下:
前言: 找了篇文章看了看,nio框架数Mina用的最多! 代码: 服务端: package com.mina; import java.net.InetSocketAddress; import java.nio.charset.Charset; import org.apache.mina.core.service.IoAcceptor; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.filte
MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。MINA框架的应用比较广泛,应用的开源项目有Apache Directory、AsyncWeb、Apache Qpid、QuickFIX/J、Openfire、SubEthaSTMP、red5等。MINA框架当前稳定版本是1.1.6,最新的2.0版本目前已经发布了M1版本。
最近一段时间以来,mina很火,和移动开发一样,异常的火爆。前面写了几篇移动开发的文章,都还不错,你们的鼓励就是我最大的动力。好了,废话少说。我们来看下tcp通讯吧。 tcp通讯对于java来说是很简单的。就是socket,也就是大家常说的套接字。大家不要把它看的很难。说白了tcp通讯其实就是数据流的读写。一条输入流,一条输出流。分别复杂发消息和接收消息。 明白了这些,ok,我们来看看我写的例子吧。先看服务器端的测试类的源码:
今天给大家推荐一个NET上的轻量级高性能网络程序框架Mina.NET。支持TCP、UDP和串口等多种传输通道,能够帮助开发者快速地开发高伸缩性的应用程序。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
继续上一篇,这篇主要讲通过mina往B端发送消息。并接受消息,mina是一个网络通信框架,封装了javaNIO。简单易用。网上有非常多关于他的介绍,在此不赘述了。
Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。Mina 主要有1.x 和2.x 两个分支,这里我们讲解最新版本2.0,如果你使用的是Mina 1.x,那么可能会有一些功能并不适用。学习本文档,需要你已掌握JAVA IO、JAVA NIO、JAVASocket、JAVA 线程及并发库(java.util.concurrent.*)的知识。
Netty是什么?为什么这么火? Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 相比JDK原生NIO,Netty提供了相对十分简单易用的API,非常适合网络编程。Netty是完全基于NIO实现的,所以Netty是异步的。 作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获
在使用mina的过程中,我们通常会自定义各种报文,以使用于自己的业务。今天就为大家带来一款类似http协议的解码过程。 mina有自带的解析http数据包的解码类。可以使用maven配置一下内容获取源码:
这里以mina整合springMVC为例: //springMVC的配置: <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map>
奥斯卡金像奖,是每一部优秀影片的梦想;普利策奖,激励着新闻人走在追寻事实的路上;而诺贝尔奖,更是鼓舞着全球的专业人士,为人类的福祉而不停探索。 任何事物,只要在自己的领域上有所成就,都应该获得大力的肯定和嘉奖。小程序也不例外。 我们需要一个专业的奖项,来鼓励和支持品质出众的小程序,和它背后的开发者。 作为国内最好的小程序生态运营商,知晓程序(微信号 zxcx0101)在此正式推出 MINA 奖,业内首个为小程序设立的权威奖项。 什么是 MINA 奖? 「MINA 奖」是首个为小程序开发者设立的权威奖项,由最
在 Java 中,有一些替代方案可以用来实现 FTP 服务器功能,类似于 Python 中的 pyftpdlib。目前我们常用的就是三种替换方案,这里需要根据自己的项目需求选择合适的方法。
Mina异步IO使用的Java底层JNI框架,Mina提供服务端和客户端,将我们的业务解耦开发.真正做到高内聚低耦合的思想
在写项目中发现需要使用到一些ssh去操作Linux的一些命令。然后对此展开了一个研究调研,看一下有能否哪一些框架适合现在去做一些对应的ssh的操作。这一些复杂的命令,选择一个合适的框架是非常重要的。有的时候当你可能去实现某一些业务的时候,发现其中的某一个类没有你想要的方法。这就比较苦恼,也不可能短时间内去跟作者提issue。因为那需要很漫长的时间。
参考:http://xinsync.xju.edu.cn/index.php/archives/category/prglang/java/mina
每建立一个Socket连接时,同时创建一个新线程对该Socket进行单独通信(采用阻塞的方式通信)。这种方式具有很高的响应速度,并且控制起来也很简单,在连接数较少的时候非常有效,但是如果对每一个连接都产生一个线程的无疑是对系统资源的一种浪费,如果连接数较多将会出现资源不足的情况。
乍看之下有点麻烦,每次操作都要变化矩阵,但实际上因为每次操作都是一个从左上角开始的矩形区域,所以实际上每次都会保证最小的操作范围内的数加一,也就是说我们只用遍历操作,找到最小的a和b,那么他们下面的区域一定每次操作都进行了加一,一定是最大的数,因此计算其面积就可以了。
1. 题目 给你一个正整数的数组 A。 然后计算 S,使其等于数组 A 当中最小的那个元素各个数位上数字之和。 最后,假如 S 所得计算结果是 奇数 的请你返回 0,否则请返回 1。 示例 1: 输入:[34,23,1,24,75,33,54,8] 输出:0 解释: 最小元素为 1,该元素各个数位上的数字之和 S = 1,是奇数所以答案为 0。 示例 2: 输入:[99,77,33,66,55] 输出:1 解释: 最小元素为 33,该元素各个数位上的数字之和 S = 3 + 3 = 6,是偶数所以答案为
自从有了表情包,我们聊天的方式都不一样了。 相比苍白的文字,表情包里的人物总能把每个人内心最复杂的情感表现出来。 但你一定有这样的烦恼:想发表情的时候,翻遍了微信表情栏里的所有「藏货」,都找不到任何准确描述自己内心真实想法的表情。 本期 MINA 奖,知晓程序(微信号 zxcx0101)决定颁发给「鬼畜表情包」。这款小程序,就是你触手可及的表情包大全,帮助你叱咤斗图场风云。 还不知道如何使用小程序?点击这里,手把手教你用! 微信里的斗图「战略储备库」 进入「鬼畜表情包」小程序,从首页就能找到一系列表情包分
详情见笔者另一篇博客https://my.oschina.net/alchemystar/blog/833937
知晓程序是爱范儿旗下专注小程序生态的品牌,我们已经做了这些: 知晓程序公众号(微信号 zxcx0101):做最好的小程序媒体,让你了解小程序的一切 小程序商店(minapp.com):全网首家小程序商店,已吸引海量小程序入驻,数量仍在不断增长中 未来小程序活动矩阵:包含黑客马拉松、MindTalk 、WorkShop,创造多样的小程序交流分享空间 《微信小程序入门指南电子书》:全网首本小程序电子书,已在多看阅读、微信读书、QQ 阅读上架 「知晓程序周榜 Top 100」第一期正式出炉! 从本周开始,知晓程
这里是知晓程序 · MINA 的第 5 期。 如何解决「最后一公里」的出行问题? 随着各色共享单车的普及,骑单车成为了一种方便、时尚有又健康的选择。而率先用上小程序新能力的「摩拜单车」小程序,成为「一扫即用,用完即走」的绝佳案例。 本期,知晓程序(微信号 zxcx0101)将 MINA 奖颁给了「摩拜单车」小程序,并对团队作了独家采访。现在,就让我们来感受一下摩拜单车的新能力吧。 微信扫码,就能骑走的「摩拜单车」 使用一部摩拜单车,需要几个步骤? 在 app 时代,你得下载、安装摩拜单车的客户端。 对于
二、usermanager采用mysql数据库管理用户时,ftpd-mysql.xml示例如下
只是觉得写的很好分享到腾讯云,推荐腾讯云服务器,除学生机外非常便宜的活动 腾讯云活动
这里是「知晓程序 · MINA 奖」的第 4 期。 生活在别处。 当内心感到倦怠、迷惘的时候,很多人会选择去远方重新发现自己。 如何留住旅行的回忆呢?除了照片、日记之外,你是否有想过,记账也能成为一种纪念方式。 本期 MINA 奖,知晓程序(微信号 zxcx0101)颁发给了「旅行小账本」。这款别出心裁的小程序,让记账成为了一种零负担的美的享受。 还不知道如何使用小程序?点击这里,手把手教你用! 打开你的「旅行小账本」 「小旅行账本」提供了一种全新的记账体验。 在这里,你可以为每一次旅行,单独创建一个精美
上一篇博客ApacheMINA(2)HelloWorld!以一个例子实现了mina客户端和服务端的通讯,现在通过源码来了解建立连接和通讯的过程(基于tcp/ip的实现)。
通过 mvn dependency:tree > dep.log 命令分析,Dubbo 缺省依赖以下三方库:
这里是「知晓程序 · MINA 奖」的第 3 期。 看电影、看综艺、煲剧,已经成为了一种生活方式。而观看的影视作品质量好坏,会直接影响我们的观后心情,甚至是生活品质。 那么,如何判断一部片子值不值得看呢? 本期知晓程序 · MINA 奖得主——「豆瓣评分」小程序,便能给你提供一个可靠的影视评分参考。 还不知道如何使用小程序?点击这里,手把手教你用! 「豆瓣评分」小程序长什么样? 豆瓣,作为「我们的精神角落」,一直以书、影、音的优质评分和评论著称。 而「豆瓣评分」小程序,将豆瓣的影视内容抽取出来,做成了一个
本篇属于动态规划的进阶题目,我们可以通过数据dp[i]来表示包括第i个元素的计算和,然后计算出所有的dp[i],最终求出来最大值就可以。详细见下面的例子中的讲解。
A 签到 #include<bits/stdc++.h> #define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; int a[105]; int main(){ ios int n,t; cin>>t; while(t--){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i];
在之前的几篇文章里,我们讨论了MINA的一些原理。晚上在想着怎么结合Vux + Virtual Dom实现一个名为WINV框架的时候,在探索WCC功能才发现:自己又忽略掉了一个很重要的性能优化细节。这个WCC如果内置在浏览器里,就是可以实时的将DOM转换为以JSON表示的DOM。 先将DOM转换为Virtual Dom,再转换回去的优点是可以分离数据和样式。这也就是为什么React的学习成本高的原因之一了。 Virtual Dom的表现形式 为了将真实的DOM转换为Virtual DOM,我们需要将DOM以
这里是「知晓程序周榜 Top 100」的第 6 期。 上周,「摩拜单车」对外展示了小程序的又一项新能力:不换二维码,微信扫一扫,即可骑走单车。 小程序的真正实力逐渐浮出水面,同时,也给许多小程序从业者打了一剂强心针。未来还会有什么新能力放出呢?我们尽管期待。 现在,不妨跟知晓程序(微信号 zxcx0101)来看看,本周占据了小程序 Top 100 榜单的,是哪些小程序吧。 想上榜单?就来小程序商店(minapp.com)发布你的小程序! 「知晓程序周榜 Top 100」第六期 关注知晓程序(微信号 zxc
Tomcat 服务器Apache软件基金会项目中的一个核心项目,是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
这里是「知晓程序周榜 Top 100」的第 4 期。 在历经了一个火爆的上线期后,微信小程序的热度正逐渐回归到正常水平。 但有人忍不住开始担心:微信小程序遇冷了吗?并非如此,新的变化、新的进展仍在不断发生。 前几天,微信便悄悄地放开了小程序模糊搜索功能。现在,只需输入常见分类(如图片、音乐、视频等)关键词,就能搜索到相应的小程序。 此外,小程序商店 minapp.com 也持续在进驻新的小程序,制造新的惊喜。 知晓程序(微信号 zxcx0101)认为,与其杞人忧天,担心小程序的命运,不如看看又有哪些默默努力
领取专属 10元无门槛券
手把手带您无忧上云