随笔分类 -  Netty

Netty——心跳机制
摘要:前言 所谓心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性。 心跳包还有另一个作用,经常被忽略,即:一个连接如果长时间不用,防火墙或者路由器就会断开该连接。 操作系统内核心跳 Netty 是 基于 TCP 协议开发的 阅读全文

posted @ 2021-05-22 18:52 曹伟雄 阅读(2251) 评论(0) 推荐(0) 编辑

Netty——自定义协议通信
摘要:前言 为了满足自己业务场景的需要, 应用层之间通信需要实现各种各样的网络协议。本文记录如何设计一个高效、可扩展、易维护的自定义通信协议,以及如何使用 Netty 实现自定义的通信协议。 一、通信协议设计 所谓的协议,就是通信双方事先商量好的接口“暗语”, 在 TCP 网络编程中,发送方和接收方的数据 阅读全文

posted @ 2021-05-22 18:51 曹伟雄 阅读(7408) 评论(1) 推荐(0) 编辑

Netty——发送消息流程&高低水位
摘要:相关概念 SO_SEND_BUF和SO_REC_BUFF SO_SEND_BUF是操作系统内核的写缓冲区,所有应用程序需要发送到对端的信息,都会放到该缓冲区中,等待发往对端 SO_REC_BUFF是操作系统内核的读缓冲区,所有对端发过来的数据都会放到该缓冲区中,等待应用程序取走 ChannelOut 阅读全文

posted @ 2021-05-22 18:50 曹伟雄 阅读(1723) 评论(0) 推荐(1) 编辑

Netty——Protostuff编解码
摘要:前言 java的序列的机制,一种是默认的java序列化机制,这种方式效率太低。另外一种是谷歌的protobuf,但是这种我们还要写proto文件,并且我们还要使用工具来编译生成java文件,实在太麻烦。 但是protostuff却不一样,能够很好的解决上面两者的问题。 什么是Protostuff? 阅读全文

posted @ 2021-05-22 18:49 曹伟雄 阅读(932) 评论(0) 推荐(0) 编辑

Netty——Protobuf编解码
摘要:什么是protocol buffers? Protocol buffers是谷歌的语言中立,平台中立的,可扩展机制的序列化数据结构框架,可以看作是xml,但是体积更小,传输速率更快,使用更加简单。 一旦你定义了你的数据格式,你可以使用生成源代码去轻松地从各种数据流读和写你的结构化数据并且使用不同的语 阅读全文

posted @ 2021-05-22 18:48 曹伟雄 阅读(1139) 评论(1) 推荐(0) 编辑

Netty——编解码
摘要:Netty编解码 Netty 涉及到编解码的组件有 Channel 、 ChannelHandler 、 ChannelPipe 等,我们先大概了解下这几个组件的作用。 ChannelHandler ChannelHandler 充当来处理入站和出战数据的应用程序逻辑容器。 例如,实现 Channe 阅读全文

posted @ 2021-05-22 18:47 曹伟雄 阅读(582) 评论(0) 推荐(0) 编辑

Netty——粘包和拆包
摘要:Netty粘包拆包 TCP 粘包拆包是指发送方发送的若干包数据到接收方接收时粘成一包或某个数据包被拆开接收。 如下图所示,client 发送了两个数据包 D1 和 D2,但是 server 端可能会收到如下几种情况的数据。 上图中演示了粘包和拆包的三种情况: D1和D2两个包都刚好满足TCP缓冲区的 阅读全文

posted @ 2021-05-22 18:46 曹伟雄 阅读(1151) 评论(0) 推荐(2) 编辑

Netty——参数说明
摘要:Netty参数 ALLOCATOR Netty参数。ByteBuf的分配器 ByteBufAllocator,对象池化。可选值(Netty4.x):ByteBufAllocator.DEFAULT、PooledByteBufAllocator.DEFAULT、UnpooledByteBufAlloc 阅读全文

posted @ 2021-05-22 18:44 曹伟雄 阅读(5416) 评论(0) 推荐(1) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示