mina
文章平均质量分 60
健康平安的活着
再给我一次重生的机会,我将加倍珍惜,将java事业进行到底。
展开
-
springboot整合mina
一 配置操作1.1 configpackage com.dky.mina.config;import com.dky.mina.handler.TimeServerHandler;import org.apache.mina.core.service.IoAcceptor;import org.apache.mina.core.service.IoHandler;import org.apache.mina.core.session.IdleStatus;import org.apa.原创 2021-08-18 22:46:51 · 1228 阅读 · 0 评论 -
mina之自定义编码和自定义解码
一 协议1.1 协议比如QQ聊天工具,当输入完一个消息后,点击发送按钮向对方发送时,此时系统就会在在你的消息后添加一个文本换行符,接收方看到这个文本换行符就认为这是一个完整的消息,解析成字符串显示出来。而这个规则,就称之为协议!1.2 几种定长的协议法定长消息法:这种方式是使用长度固定的数据发送,一般适用于指令发送。譬如:数据发送端规定发送的数据都是双字节,AA 表示启动、BB 表示关闭等等。字符定界法:这种方式是使用特殊字符作为数据的结束符,一般适用于简单数据的发送。譬如:在消息的结尾自.原创 2021-08-10 23:30:01 · 763 阅读 · 0 评论 -
mina中的Tcp粘包,半包的问题
一 tcp与udp1.1 tcp与udp的概念TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。即面向流的通信是无消息保护边界的。udp: 用户数据报协议)是.原创 2021-08-10 23:23:18 · 224 阅读 · 0 评论 -
mina中的AIO
一 AIONio2.0的异步套接字通道是真正的异步非阻塞io,Java nio 2.0的主要改进就是引入了异步IO(包括文件和网络)。二 AIO案例1.clientpackage com.cf.demo.aio2;public class AioClient { public static void main(String[] args) { int port = 7080; new Thread(new AioClientAsyncHandler("127.0.0.1原创 2021-08-10 23:13:38 · 174 阅读 · 0 评论 -
Java中nio与io的区别与联系
一 区别于联系ava NIO和IO之间的主要差别:IO NIO面向流 面向缓冲阻塞IO 非阻塞IO无 选择器1.面向流与面向缓冲 JavaNIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Ja...原创 2021-08-10 19:51:28 · 483 阅读 · 0 评论 -
java中NIO的selector
一 selectorSelector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件,一个Selector可以同时轮询多个Channel,只需要一个线程负责Selector的轮询,就可以接入成千上万的客户端。二selector的操作1.selector的创建Selector的创建 通过调用Selector.open()方法创建一个Selector,如下: Selector selector = Selector.open..原创 2021-08-10 06:44:22 · 836 阅读 · 0 评论 -
NIO的channel
一 channel1.1 channel概念流的读写通常是单向的。通道是双向的,可以用于读、写和同时读写操作,通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。从通道读取数据到缓冲区,从缓冲区写入数据到通道1.2 channel与传统对象的区别1、Channel可以直接将指定文件的部分或全部直接映射成Buffer。 2、程序不能直接访问Channel中的数据,包括读、写入都不行,Channel只能与Buffer进行交互。也就是说, 如果要从Channel.原创 2021-08-08 16:20:35 · 236 阅读 · 0 评论 -
java中io的BIO
一 bio1.1 bio通信模式BIO的服务端通信模型:采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接, 它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理没处理完成后,通过输出流返回应答给客户端,线程销毁。即典型的 一请求一应答通信模型。服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立, 双方就可以通过套接字进行通信。传统的同步阻塞模型开发中:ServerSocket原创 2021-08-08 11:57:54 · 137 阅读 · 0 评论 -
JAVA 中的AIO和BIO和NIO的“恩恩怨怨”
一 IO的分类二 同步异步 阻塞和非阻塞阻塞:当试图对该文件描述符进行读写时,如果当时没有东西可读,或者暂时不可写,程序就进入等待状态,直到有东西可读或者可写为止(强迫症,必须这件事做完才能做其他事情,否则一直等待)非阻塞:如果没有东西可读,或者不可写,读写函数马上返回,而不会等待。(先取号,可以去做其他事情,叫号后,过来完成该事情)同步:指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪(亲力亲为且专注于一件事)异步:异步是指用户进程触发IO操...原创 2021-08-08 11:43:57 · 201 阅读 · 0 评论 -
nio和缓存IObuffer的使用
一 NIO的概念1.1 NIO的概念Nio:即非阻塞I/O, 也就 java new io。Sun官方标榜的特性如下: 1、 为所有的原始类型提供(buffer)缓存支持。 2、 字符集编码解码解决方案。 3、 Channel:一个新的原始I/O抽象。 4、 支持锁和内存映射文件的文件访问接口。 5、 提供多路(non-bloking)非阻塞式的高伸缩性网络I/O。对于低负载、低并发的应用程序,可以使用同步阻塞I/O来提升开发速率和更好的维护性;对于高负载、高并发的(网络原创 2021-08-08 08:47:11 · 392 阅读 · 0 评论 -
mina的iobuffer使用
一 iobuffer的常用方法原创 2021-08-05 16:29:21 · 634 阅读 · 0 评论 -
Mina 之 iofilter
一 iofilter的作用1.1 iofilter的作用Filter,过滤器的意思。IoFilter,I/O操作的过滤器。IoFilter和Servlet中的过滤器一样,主要用于拦截和过滤网络传输中I/O操作的各种消息,是在应用层和我们业务员层之间的过滤层。在Mina 的官方文档中已经提到了IoFilter 的作用:Mina最主要的工作就是把底层传输的字节码转换为Java对象,提供给应用程序;或者把应用程序返回的结果转换为字节码,交给底层传输。完成转换功能,则需要相应的编解码器,这些都...原创 2021-08-01 23:09:45 · 334 阅读 · 0 评论 -
java之网络通信框架mina
一 mina1.1 mina作用概述mina是一个基于java nio的网络通信框架。主要屏蔽了网络通信的一些细节,对Socket进行封装,并且是NIO的一个实现架构,可以帮助我们快速的开发网络通信,常用于游戏的开发、中间件服务端的程序中。 Mina最主要的工作就是把底层传输的字节码转换为Java对象,提供给应用程序;或者把应用程序返回的结果转换为字节码,交给底层传输。1.2 mina传输数据的类型...原创 2021-07-30 23:31:20 · 5624 阅读 · 0 评论