随笔分类 - Netty
摘要:<! @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} <! code_chunk_output "丢弃服务器" "DiscardServerHandler" "DiscardServer" "测试" "应答服务器
阅读全文
摘要:package org.zln.netty.tout.server; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelPipeline; import io.netty.channel.socket.SocketChannel; import io.netty.handler.codec.De...
阅读全文
摘要:UdpServer UdpServerHandler UdpClient UdpClientHandler
阅读全文
摘要:在启动客户端的时候,我们一般会 这是一段阻塞的代码,除非链路断了,否则是不会终止的,我们可以在handler中手动关闭,达到关闭客户端的效果
阅读全文
摘要:Java序列化的缺点 1、无法跨语言 对于Java序列化后的字节数组,别的语言无法进行反序列化 2、序列化后的码流过大 3、序列化性能低 使用JDK自带的序列化进行对象的传输 被传输的,实现了序列化接口的POJO package org.zln.netty.five.part04.dto; impo
阅读全文
摘要:FixedLengthFrameDecoder,在new的时候指定长度即可 适用于每次交互都是定长的情况 比较简单,就不再编写代码了,参考之前的代码就能够很容易的写出Demo了
阅读全文
摘要:使用 DelimiterBasedFrameDecoder 解码器 通过 构建了自定义的分隔符,在 中传入 delimiter 也可以是一个数组 Netty提供了一个类,保存了常用的分隔符
阅读全文
摘要:服务端 package org.zln.netty.five.timer; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.Channe
阅读全文
摘要:什么是粘包/拆包问题? 客户端发送了两笔请求,服务端确只收到了包含两笔请求的一笔请求,举例: 请求 1 2 收到 1 2 或 请求 1 2 收到 1 2 TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分 多个小的包被封装成一个大的数据包进行发送(粘包问题) 一个数
阅读全文
摘要:需求: 服务端:接收客户端请求,返回当前系统时间 客户端:发起时间请求 服务端 客户端 关于ByteBuf的读写,面向的都是ByteBuf,所以对于 read,从ByteBuf中读出来,将数据给字节数组,对于写,将数据从字节数组写入到ByteBuf中 将字符串转化为ByteBuf,有更简单的方法
阅读全文