首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Apache MINA (3) NioS

以一个例子实现了mina客户端和服务端的通讯,现在通过源码来了解建立连接和通讯的过程(基于tcp/ip的实现)。...服务端通过创建一个NioSocketAcceptor来接受请求,客户端通过创建NioSocketConnector来连接服务端并发送请求,从整体的体系结构来看二者的关系。...IoService是对于服务器端接受连接和客户端发起连接两类行为的一个抽象。IoServer用来执行真正的I/O操作,以及管理I/O会话。两个子接口为IoAcceptor和IoConnector。...IoAcceptor用来接受连接,与客户端进行通讯。IoConnector用来发起连接,与服务端进行通讯。...HelloWorld例子里面实现的是基于TCP/IP协议的通讯,用了mina默认的实现类NioSocketAcceptor和NioSocketConnector。

73310

Mina框架的使用

什么是Mina框架 Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件驱动的、异步的API。...Mina主页 下载地址 为什么使用Mina? 传统socket:阻塞式通信 每建立一个Socket连接时,同时创建一个新线程对该Socket进行单独通信(采用阻塞的方式通信)。...而且NIO的主线程只有一个,不像传统的模型,需要多个线程以应对客户端请求,也减轻了JVM的工作量。...那让我们看看使用mina建的客户端 public class MinaSocket { public static void main(String[] args) {...写的客户端 //客户端使用mina public class MinaClient { public static void main(String[] args) throws Exception{

93710

java mina框架实例_MINA框架简介和一个简单的例子

基于MINA框架快速开发网络应用程序 1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架...2.MINA框架的常用类 类NioSocketAcceptor用于创建服务端监听; 类NioSocketConnector用于创建客户端连接; 类IoSession用来保存会话属性和发送消息; 类IoHandlerAdapter...首先定义一个业务逻辑处理器TimeServerHandler,继承自IoHandlerAdapter,实现的功能有:当客户端创建会话时会显示客户端设备的IP和端口;当客户端输入quit时结束会话;客户端输入其它内容时则向客户端发送当前时间...$4 log 信息: OPENED 在客户端输入回车,在客户端可以看到服务端返回当前的时间: Thu Feb 21 16:20:14 CST 2008 服务端输出: 2008-2-21 16:20:14...框架来开发的网络应用程序代码结构更清晰;MINA框架完成了底层的线程管理;MINA内置的编码器可以满足大多数用户的需求,省去了开发人员消息编码解码的工作。

1.1K20

Mina各组件介绍

Mina各组件介绍上一篇文章已经系统的介绍了Mina的运行流程,Apache推出的Mina性能上很是高效,上章节我们知道内部有很多的类,各个类之间的依赖也是很多,他们之家都是相互依赖。...本篇就当是Mina的文档了。...一下总结来源于网络:IoService=========这个接口是服务端IoAcceptor、客户端IoConnector 的抽象,提供IO 服务和管理IoSession的功能,它有如下几个常用的方法:... IoService getService() 这个方法返回与当前会话对象关联的IoService 实例.关于TCP连接的关闭:无论在客户端还是服务端...举个例子,我们在客户端调用connect()方法访问Server 端的时候,实际上这就是一个异步执行的方法,也就是调用connect()方法之后立即返回,执行下面的代码,而不管是否连接成功。

11310

MINA 框架简介「建议收藏」

IoSession Session可以理解为服务器与客户端的特定连接,该连接由服务器地址、端口以及客户端地址、端口来决定。...Session是服务器端对这种连接的抽象,MINA对其进行了封装,定义了IoSession接口,用来代表客户端与服务器的连接,在服务器端来 指代客户端,实现对客户端的操作、绑定与客户端有关的信息与对象。...通过利用Session的这个概念,编写程序时就可以在服务器端非常方便地区分出是当前 处理的是哪个客户端的请求、维持客户端的状态信息、可以实现客户端之间相互通讯。...IoHandler 从以上MINA框架简图可以看出,对来自客户端数据最终处理是在IoHandler中处理的。...MINA 基本类的描述 在介绍架构之前先认识几个接口: IoAccepter 相当于网络应用程序中的服务器端 IoConnector 相当于客户端 IoSession 当前客户端到服务器端的一个连接实例

1.4K41

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

实际上,MINA2的官方代码里有完整的UDP通信Demo代码,但Demo里客户端是需要依赖MINA2的客户端库的,而如果简单地去掉MINA2的lib依赖,改为标准的Java UDP代码,则服务端和客户端的数据收发都会存在未知多余字节等...实现无需第3方依赖: 通常MINA或Netty的例子里,客户端也都是用的MINA或Netty的客户端lib,本文将直接使用标准UDP代码(便于跨平台实现,比如iOS平台),不依赖于第3方包; [3] 完整可执行源码...Demo的代码逻辑 言归正传,本文要演示的Demo包含两部分,Java UDP客户端MINA2 UDP服务端,客户端将每隔3秒向服务端发送一条消息,而服务端在收到消息后马上回复一条消息给客户端。...注意点2:服务端的EchoSeverHandler.java文件中,发送数据时的IoBuffer对象组织方法是解决无MINA2客户端依赖的客户端能正确接收MINA2服务端发过去的数据的关键,具体代码如下...还存在独立客户端(非依赖于MINA2客户端)实现时的多余字节和乱码问题。

81230

Socket通信封装MIna框架--含羞代放

Mina异步IO使用的Java底层JNI框架,Mina提供服务端和客户端,将我们的业务解耦开发.真正做到高内聚低耦合的思想核心类===IoService :Mina中将服务端和客户端都看成是服务,这里提供统一接口...IoHandler中各个击破====IoService首先我们已服务端NioSocketAcceptor为列,看看我们的服务类之间的结构依赖关系 IoService是服务的鼻祖,无论在我们看来的服务端还是客户端都得继承它...比如Mina框架中用来创建服务端类NioSocketAcceptor。他直接继承了AbstractPollingIoAcceptor。...剩下的事情已经和Mina基本没多大关联了。我们将在这里处理业务逻辑,使用到的就是Handler提供的接收消息和发送消息两个功能。...下面贴出一份总结的图谱帮助我们理解Mina流程我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

17410

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

实际上,MINA2和Netty4的官方代码里已经有UDP通信的Demo代码,但客户端并不是基于现今流行的移动端(主要是Android和iOS端)来实现,本文将演示用iOS客户端来实现这种跨平台的双向网络通信...NIO框架实现的服务端(包括MINA2和Netty4实现两个方案),客户端每隔5秒向服务端发送消息,而服务端在收到消息后马上回复一条消息给客户端。...iOS客户端运行结果 [2] 服务端运行结果(MINA2方案): ? 服务端运行结果(MINA2方案) [3] 服务端运行结果(Netty4方案): ?...的UDP服务端API接口使用要是Netty4的繁琐,而且MINA2还存在独立客户端(非依赖于MINA2客户端)实现时的多余字节和乱码问题。...iOS客户端的Demo源码 ?

90210

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

实际上,MINA2和Netty4的官方代码里有UDP通信的Demo代码,但却不存在针对移动端(主要是Android和iOS端)的Demo,本文将演示用�Android客户端来实现这种跨平台的双向网络通信...NIO框架实现的服务端(包括MINA2和Netty4实现两个方案),客户端每隔5秒向服务端发送消息,而服务端在收到消息后马上回复一条消息给客户端。...Android客户端运行结果 [2] 服务端运行结果(MINA2方案): ? 服务端运行结果(MINA2方案) [3] 服务端运行结果(Netty4方案): ?...应该能明显地感觉的出来MINA2的UDP服务端API接口使用要是Netty4的繁琐,而且MINA2还存在独立客户端(非依赖于MINA2客户端)实现时的多余字节和乱码问题。...服务端源码 截图说明:左右是Android客户端源码、右边是服务端(MINA2和Netty4两个方案)。

1.3K10
领券