摘要:ChannelPipeline简介 Netty 的ChannelPipeline和ChannelHandler 机制类似于Servlet和Filter过滤器,这类拦截实际上是职责链模式的一种变形,主要是为了方便事件的拦截和用户业务逻辑的定制。 ChannelPipeline类是ChannelHand
阅读全文
摘要:Unsafe 简介 Unsafe接口实际上是Channel 接口的辅助接口,它不应被用户代码 直接调用,实际的I/O 读写操作者是由Unsafe接口负责完成的。 在netty中一个很核心的组件,封装了java底层的socket操作,作为连接netty和java 底层nio的重要桥梁。 Unsafe功
阅读全文
摘要:Channel简介 channel是netty网络IO操作抽象出来的一个接口,主要功能有:网络IO的读写,客户端发起连接、主动关闭连接,链路关闭,获取通信双方的网络地址等,还提供了与netty框架相关的操作,如获取channel相关联的EventLoop、pipeline等。 为什么不适用JDK N
阅读全文
摘要:UDP 介绍 UDP 是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,速度快,可能会丢包,UDP段结构比TCP的段结构简单,因此网络开销也小。 UDP数据报格式有 首部 和数据 两个部分 首部 为8个字节 包括以下部分 (1) 源端口:源端口号,2个字节,最大值为65525 (2
阅读全文
摘要:Netty Websocket协议开发 Netty基于HTTP协议栈开发了WebSocket 协议栈,利用Netty的WebSocket 协议栈可以方便开发WebSocket 客户端和服务端 Netty Websocket 服务端 1 Netty Websocket 服务端启动类 package c
阅读全文
摘要:Http协议概述 1.什么是Http协议 HTTP是一个属于【应用层】的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。 2.HTTP协议的主要特点 1) 支持Client/Server模式 2)简单--客户向服务器请求,只需指定服务URL,携带必要的请求参数或者消息体 3) 灵
阅读全文
摘要:1 新建实体类,这里需要实现 Serializable 接口即可 import java.io.Serializable; public class GirlResponse implements Serializable { private static final long serialVers
阅读全文
摘要:TCP以字节流的方式进行数据传输,上层应用协议为了对消息进行区分,往往采用如下4种方式。 消息长度固定:累计读取到固定长度为LENGTH之后就认为读取到了一个完整的消息。然后将计数器复位,重新开始读下一个数据报文。 回车换行符作为消息结束符:在文本协议中应用比较广泛。 将特殊的分隔符作为消息的结束标
阅读全文
摘要:一TCP 粘包/拆包 Tcp是个”流“协议,所谓流,就是没有界限的一串数据。 一个完整的包,可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题 二、粘包问题的解决策略 (1)消息定长。报文大小固定长度,不够空格补全。发送和接收方遵循相同
阅读全文
摘要:maven 项目 Pom.xml <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
阅读全文
摘要:一 Channel Channel是Java NIO的一个基本构造 Channel 看作 传入(入站)或者传出(出站)数据的载体 也可以是 打开或关闭 ,连接或者 断开连接 二 回调 一个回调其实就是一个方法,一个指向已经被提供给另外一个方法的方法引用 Netty 在内部使用回调处理事件 三 Fut
阅读全文
摘要:Netty简介 Netty 是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端。 Netty 是javar 卓越框架,它驾驭了Java的高级API的能力。 Netty 的特性总结 分类 Netty 的特性 设计 统一的API,支持多种种传输类型, 阻塞的和
阅读全文