随笔分类 -  网络编程

1 2 3 下一页
Java NIO系列教程(八)JDK AIO编程
摘要:目录: Reactor(反应堆)和Proactor(前摄器) 《I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor》 《【转】第8章 前摄器(Proactor):用于为异步事件多路分离和分派处理器的对象行为模式》 《Java NIO系列教程(八)JDK AIO编程》- 阅读全文
posted @ 2017-04-28 18:14 duanxz 阅读(2912) 评论(1) 推荐(0) 编辑
Java NIO系列教程(十一) Pipe
摘要:Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 这里是Pipe原理的图示: 创建管道 通过Pipe.open()方法打开管道。例如: 1 Pipe pipe = Pipe.open(); 1 P 阅读全文
posted @ 2017-04-28 18:13 duanxz 阅读(838) 评论(0) 推荐(0) 编辑
零拷贝(zero-copy)
摘要:零拷贝(zero-copy)是一种目前只有在使用 NIO 和 Epoll 传输时才可使用的特性。它使你可以快速 高效地将数据从文件系统移动到网络接口,而不需要将其从内核空间复制到用户空间,其在像 FTP 或者 HTTP 这样的协议中可以显著地提升性能。但是,并不是所有的操作系统都支持这一特性。特别地 阅读全文
posted @ 2017-04-28 18:12 duanxz 阅读(1317) 评论(0) 推荐(0) 编辑
NIO文件锁FileLock
摘要:目录 《linux文件锁flock》 《NIO文件锁FileLock》 《java程序怎么在一个电脑上只启动一次,只开一个进程》 文件锁可以是shared(共享锁)或者exclusive(排他锁)。不是所有的平台都以同一种方式实现文件锁,不同的操作系统可能不同,同一操作系统上的不同文件系统也可能不同 阅读全文
posted @ 2017-04-28 18:11 duanxz 阅读(1686) 评论(0) 推荐(0) 编辑
Java NIO系列教程(七) selector原理 Epoll版的Selector
摘要:目录: Reactor(反应堆)和Proactor(前摄器) 《I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor》 《【转】第8章 前摄器(Proactor):用于为异步事件多路分离和分派处理器的对象行为模式》 《Java NIO系列教程(八)JDK AIO编程》- 阅读全文
posted @ 2017-04-28 18:11 duanxz 阅读(2254) 评论(0) 推荐(0) 编辑
Java NIO系列教程(六) 多路复用器Selector
摘要:多路复用器Selector是Java NIO编程的基础,熟练地掌握Selector对于掌握NIO编程至关重要。多路复用器提供选择已经就绪的任务的能力。简单来讲,Selector会不断地轮询注册在其上的Channel,如果某个Channel上面有新的TCP连接接入、读和写事件,这个Channel就处于 阅读全文
posted @ 2017-04-28 18:08 duanxz 阅读(4846) 评论(1) 推荐(0) 编辑
Java NIO系列教程(五)Buffer
摘要:Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。交互图如下: 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。缓冲区实际上是一个容器对象 阅读全文
posted @ 2017-04-24 23:51 duanxz 阅读(1449) 评论(0) 推荐(0) 编辑
Java NIO系列教程(四) Scatter/Gather
摘要:Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Chann 阅读全文
posted @ 2017-04-24 23:47 duanxz 阅读(1336) 评论(0) 推荐(0) 编辑
Java NIO系列教程(三) Channel之Socket通道
摘要:目录: 《Java NIO系列教程(二) Channel》 《Java NIO系列教程(三) Channel之Socket通道》 在《Java NIO系列教程(二) Channel》介绍了FileChannel,本章节介绍socket通道类。 一、Socket通道 新的socket通道类可以运行非阻 阅读全文
posted @ 2017-04-24 23:46 duanxz 阅读(13168) 评论(1) 推荐(2) 编辑
Java NIO系列教程(二) Channel通道介绍及FileChannel详解
摘要:目录: 《Java NIO系列教程(二) Channel》 《Java NIO系列教程(三) Channel之Socket通道》 Channel是一个通道,可以通过它读取和写入数据,它就像自来水管一样,网络数据通过Channel读取和写入。通道与流的不同之处在于通道是双向的,流只是在一个方向上移动( 阅读全文
posted @ 2017-04-24 23:44 duanxz 阅读(11132) 评论(0) 推荐(1) 编辑
Java NIO系列教程(一) Java NIO 概述
摘要:《I/O模型之四:Java 浅析I/O模型》 一、阻塞IO与非阻塞IO 阻塞IO: 通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为 阅读全文
posted @ 2017-04-24 23:07 duanxz 阅读(14391) 评论(2) 推荐(2) 编辑
Mina2 udp--zhengli
摘要:一、包与类名。 1、所有类和方法严格使用驼峰法命名。例:SSLFilter 更名为 SslFilter。NIO传输类在命名时增加 Nio 前缀。因为NIO 并不是 socket/datagram 传输的实现,NIO 的所有传输类前缀增加 Nio 。之前Java代码: [java] view plai 阅读全文
posted @ 2017-04-24 09:51 duanxz 阅读(410) 评论(0) 推荐(0) 编辑
NIO框架之MINA源码解析(五):NIO超级陷阱和使用同步IO与MINA通信
摘要:1、NIO超级陷阱 之所以说NIO超级陷阱,就是因为我在本系列开头的那句话,因为使用缺陷导致客户业务系统瘫痪。当然,我对这个问题进行了很深的追踪,包括对MINA源码的深入了解,但其实之所以会出现这个问题,它的根不是MINA的原因,而是JDK底层的问题。 JDK底层在实现nio时,为了能够唤醒等待在i 阅读全文
posted @ 2017-04-23 23:14 duanxz 阅读(442) 评论(0) 推荐(0) 编辑
NIO框架之MINA源码解析(四):粘包与断包处理及编码与解码
摘要:1、粘包与段包 粘包:指TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。造成的可能原因: 发送端需要等缓冲区满才发送出去,造成粘包 接收方不及时接收缓冲区的包,造成多个包接收 断包:也就是数据不全,比如包太大,就把包分解成多个小包,多次 阅读全文
posted @ 2017-04-23 23:13 duanxz 阅读(677) 评论(0) 推荐(0) 编辑
mina2中的session
摘要:简介 session类图 Mina每建立一个连接同时会创建一个session对象,用于保存这次读写需要用到的所有信息。从抽象类AbstractIoSession中可以看出session具有如下功能: 1、从attributes成员可以看出session可以存放用户关心的键值对 2、注意到WriteR 阅读全文
posted @ 2017-04-23 23:12 duanxz 阅读(2607) 评论(0) 推荐(1) 编辑
mina2的processor
摘要:processor顾名思义,就是进行IO处理,处理当前session的数据读写,并进行业务处理。 在mina server初始化的时候,会初始化一个processor池,通过NioSocketAcceptor的构造器传入池的大小,默认是当前处理器的个数+1。 processor池里面有一个jdk提供 阅读全文
posted @ 2017-04-23 23:10 duanxz 阅读(355) 评论(0) 推荐(0) 编辑
I/O模型之一:Unix的五种I/O模型
摘要:目录: 《I/O模型之一:Unix的五种I/O模型》 《I/O模型之二:Linux IO模式及 select、poll、epoll详解》 《I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor》 《I/O模型之四:Java 浅析I/O模型》 基本 Linux I/O 模 阅读全文
posted @ 2016-05-18 23:00 duanxz 阅读(2079) 评论(0) 推荐(3) 编辑
websocket之四:WebSocket 的鉴权授权方案
摘要:引子 WebSocket 是个好东西,为我们提供了便捷且实时的通讯能力。然而,对于 WebSocket 客户端的鉴权,协议的 RFC 是这么说的: This protocol doesn’t prescribe any particular way that servers canauthentic 阅读全文
posted @ 2016-04-27 22:31 duanxz 阅读(24516) 评论(0) 推荐(0) 编辑
java websocket @ServerEndpoint注解说明
摘要:http://www.blogjava.net/qbna350816/archive/2016/07/24/431302.html https://segmentfault.com/q/1010000004955225 https://www.cnblogs.com/interdrp/p/40910 阅读全文
posted @ 2016-04-27 12:34 duanxz 阅读(5031) 评论(0) 推荐(1) 编辑
MQTT协议QoS2 准确一次送达的实现
摘要:MQTT QoS 熟悉MQTT协议的同学们一定知道,MQTT的publish有三个QoS,0,1,2。他们分别是: QoS0,最多一次送达。也就是发出去就fire掉,没有后面的事情了。 QoS1,至少一次送达。发出去之后必须等待ack,没有ack,就要找时机重发 QoS2,准确一次送达。消息id将拥 阅读全文
posted @ 2016-04-23 13:59 duanxz 阅读(2154) 评论(0) 推荐(0) 编辑

1 2 3 下一页