
网络(socket)编程
文章平均质量分 95
以netty为主线的作为网络通信框架实践
飞奔的大土豆
今天最好的表现是明天最低的要求
未来早已到来,只是还未普及
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java.lang.IllegalArgumentException: Last encoded character (before the paddings if any)
目录base64解码:开发报错误分析原因解决方案延申:Google guava和Apache commonsGuava记录: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible value. Expected the discarded bits to be zero原创 2022-07-10 12:07:14 · 7174 阅读 · 0 评论 -
最近学习了Netty ByteToMessageDecoder
https://www.cnblogs.com/mxz1994/p/9512364.htmlhttps://netty.io/4.1/api/index.html原创 2020-07-30 23:54:54 · 2035 阅读 · 1 评论 -
Netty3:分隔符和定长解码器
回顾TCP粘包/拆包问题解决方案上文详细说了TCP粘包/拆包问题产生的原因及解决方式,并以LineBasedFrameDecoder为例演示了粘包/拆包问题的实际解决方案,本文再介绍两种粘包/拆包问题的解决方案:分隔符和定长解码器。在开始本文之前,先回顾一下解决粘包/拆包问题的几个方式:消息长度固定,累计读取到长度总和为定长LEN的报文后,就认为读取到了一个完整的消息,将计数器重置,重新...转载 2020-03-28 21:37:19 · 238 阅读 · 0 评论 -
Netty2:粘包/拆包问题与使用LineBasedFrameDecoder的解决方案
什么是粘包、拆包粘包、拆包是Socket编程中最常遇见的一个问题,本文来研究一下Netty是如何解决粘包、拆包的,首先我们从什么是粘包、拆包开始说起:TCP是个"流"协议,所谓流,就是没有界限的一串数据,TCP底层并不了解上层业务的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上: * 一个完整的包可能会被TCP拆分为多个包进行发送(拆包) * 多个...转载 2020-03-28 21:26:19 · 353 阅读 · 0 评论 -
Netty1:初识Netty
前言:用netty跑了那么久,也没有真正细枝末节地认识过她,借着2020这年行业大环境,尽一份Coder应有的责任(总结)一个蛮优秀的coder,亲试可关,昵称:五月的仓颉;原文地址http://www.cnblogs.com/xrq730/p/5260294.html,转载请注明出处----------------------------------------------------...转载 2020-03-28 19:11:43 · 321 阅读 · 0 评论 -
netty中的ChannelHandler
原创 2017年01月16日 16:38:212866本文主要介绍以下几个相关类: • ChannelPipeline • ChannelHandlerContext • ChannelHandler • Inbound vs outbound(入站和出站)接受客户端的连接和创建连接只是应用程序中的一步,更加重要的还是处理传入传出转载 2017-11-11 18:08:35 · 315 阅读 · 0 评论 -
netty4 io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
在netty4中,对象的生命周期由引用计数器控制,ByteBuf就是如此,每个对象的初始化引用计数加1,调用一次release方法,引用计数器会减1,当尝试访问计数器为0时,对象时,会抛出IllegalReferenceCountException,正如ensureAccessible的实现,更加详细的解释可以参考官方文档原因分析:日志显示refCnt=0了,表明使用的这个ByteBuf已经被...原创 2018-09-30 19:46:17 · 15377 阅读 · 0 评论