随笔分类 - Netty学习
摘要:知识点 1、看下粘包和分包是怎么样一个情况 hello hello 通过定义一个稳定的结构 length + hello 2、buffer里面数据未被读取完怎么办? (cumulation缓存) 3、为什么return null就可以缓存buffer (cumulation缓存) 1、Client.
阅读全文
摘要:知识点 1、消息如何在管道中流转 ,一个管道中会有多个handler,当前的一个handler如何往下面的一个handler传递一个对象 主要通过handler往下传递对象的方法是sendUpstream(event) 2、看下粘包和分包是怎么样一个情况 hello hello 通过定义一个稳定的结
阅读全文
摘要:知识点 1.protocol buff是一种协议,是谷歌推出的一种序列化协议 2.Java序列化协议也是一种协议 3.两者的目的是,将对象序列化成字节数组,或者说是二进制数据4、比较会发现,protobuf序列化的数据量远比java序列化的数据小很多 1、准备.proto文件 player.prot
阅读全文
摘要:知识点 1、学习idleStateHandler 用来检测会话状态 2、心跳其实就是一个普通的请求,特点数据简单,业务也简单 心跳对于服务端来说,定时清除闲置会话inactive(netty5) channelclose(netty3) 心跳对客户端来说,用来检测会话是否断开,是否重连! 用来检测网
阅读全文
摘要:知识点 一个thread + 队列 == 一个单线程线程池 > 线程安全的,任务是线性串行执行的 线程安全,不会产生阻塞效应 ,使用对象组 线程不安全,会产生阻塞效应, 使用对象池Netty5服务端接受客户端的消息,需要继承SimpleChannelInboundHandler类,同理,客户端接受服
阅读全文
摘要:注意点 1、netty目前版本可以分为两块,一块是3.x,另一块是4.x和5.x,这样分是因为4.x和5.x的api基本相同,但是3.x和4,5的版本api就发生很大的变化2、netty目前再分布式进程通信和游戏服务器开发运用的很广泛 例如: hadoop、dubbo、akka等具有分布式功能的框架
阅读全文
摘要:注意阻塞: server.accept(); inputStream.read(bytes); 1、socket实现服务端 package com.example.netty.lesson1; import java.io.IOException; import java.io.InputStrea
阅读全文