随笔分类 - 10.轻量级RPC框架开发&&NIO原理
摘要:1.Netty发送对象简介: Netty中,通讯的双方建立连接后,会把数据按照ByteBuf的方式进行传输,例如http协议中,就是通过HttpRequestDecoder对 ByteBuf数 据流进行处理,转换成http的对象。基于这个思路,自定义一种通讯协议:Server 和 客户端直接传输 j
阅读全文
摘要:1.Netty中handler的执行顺序 Handler在Netty中,无疑占据着非常重要的地位。Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、 统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。一句话,没有它
阅读全文
摘要:1.Netty简介: Netty是基于Java NIO的网络应用框架 Netty是一个NIO client-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty 提供了一种新的方式来开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性。N
阅读全文
摘要:1.阻塞与非阻塞 传统的 IO 流都是阻塞式的。也就是说,当一个线程调用 read() 或 write() 时,该线程被阻塞,直到有一些数据被读取或写入, 该线程在此期间不能执行其他任务因此,在完成网络通信进行 IO 操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供 一个独立的线程进行处理
阅读全文
摘要:1.通道(Channel) 由 java.nio.channels 包定义的。Channel 表示 IO 源与目标打开的连接。Channel 类似于传统的“流”。只不过 Channel 本身不能直接访问数据,Channel 只能与Buffer 进行交互 Java 为 java.nio.channel
阅读全文
摘要:1.缓冲区(Buffer) 一个用于特定基本数据类型的容器。由 java.nio 包定义的,所有缓冲区都是 Buffer 抽象类的子类,任何时候访问 NIO 中 的数据,都是通过缓冲区进行操作 在 Java NIO 中负责数据的存取。缓冲区就是数组。用于存储不同数据类型的数据,据数据类型不同(boo
阅读全文
摘要:概述 Java NIO 是 JDK 1.4 发布的一套全新的IO API(New IO 简称 NIO),由于 JDK 1.7 对 NIO 的更新,目前 NIO 被广泛应用,以至于 将 JDK 1.7 的改动称为 NIO.2,NIO 可以替代传统的Java IO API。NIO与原来的IO有同样的作用
阅读全文
摘要:1.什么是RPC:远程过程调用协议 RPC(Remote Procedure Call Protocol)— 远程过程调用协议,是一种通过网络从远程计算机程序上请求服务,而不需要 了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信
阅读全文