01Netty编解码-个人记录

一、转字符

  1. 在下面的代码中,是把客户端的字符
  2. 先进行转码同时放置在ByteBuf的数组中进行传输
  3. 如果不这样进行就会出现传输不过去的问题
//客户端的Handler
@Override  
public void channelActive(ChannelHandlerContext ctx) throws Exception {
ByteBuf buf = Unpooled.copiedBuffer("HelloServer", CharsetUtil.UTF_8);
ctx.writeAndFlush(buf);
}

二、说明

客户端与服务端通讯要进行信息的交互,那么客户端需要先把自己的内容转成二进制流才能传输

1.发数据编码,收数据-解码

(编码-数据压缩打包)

2.涉及事件

    1. 出栈事件、入栈事件
      所有发出去的走编码,所有收进来的走解码
    2. 客户端与服务端都将建立自己的管道进行数据的解析操作

        下图为自己的对于整个服务与客户端交互的理解,在图中充分体现了channelHandle的作用

 
三、编解码器

1. 字符串:

1. //编码器
channel.pipeline().addLast(new StringEncoder());
//解码器
channel.pipeline().addLast(new StringDecoder());` 

2. 对象编码解码

channel.pipeline().addLast(new ObjectDecoder(1024, ClassResolvers.cacheDisabled(ClassLoader.getSystemClassLoader()))); 

这个现在是不好用,当前推荐protostuff


3. Protostuff的使用

1. 自定义编解码器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Netty-WebSocket-Spring-Boot-Starter是一个用于将Websocket集成到Spring Boot应用程序中的库。它使用Netty作为底层框架,提供了一种快速和可靠的方式来处理异步通信。 这个库提供了一种简单的方法来创建Websocket端点,只需要使用注释和POJO类即可。在这些端点上可以添加动态的事件处理程序,以处理连接、断开连接和消息事件等。 此外,Netty-WebSocket-Spring-Boot-Starter还包括了一些安全性的特性,如基于令牌的授权和XSS保护,可以帮助您保持您的Websocket应用程序安全。 总的来说,Netty-WebSocket-Spring-Boot-Starter提供了一种快速和易于使用的方式来构建Websocket应用程序,使得它成为应用程序开发人员的有用工具。 ### 回答2: netty-websocket-spring-boot-starter 是一个开源的 Java Web 开发工具包,主要基于 Netty 框架实现了 WebSocket 协议的支持,同时集成了 Spring Boot 框架,使得开发者可以更加方便地搭建 WebSocket 服务器。 该工具包提供了 WebSocketServer 配置类,通过在 Spring Boot 的启动配置类中调用 WebSocketServer 配置类,即可启动 WebSocket 服务器。同时,该工具包还提供了多种配置参数,如端口号、URI 路径、SSL 配置、认证配置等等,可以根据业务需求进行自定义配置。 此外,该工具包还提供了一些可扩展的接口和抽象类,如 WebSocketHandler、ChannelHandlerAdapter 等,可以通过继承和实现这些接口和抽象类来实现业务逻辑的处理和拓展。 总的来说,netty-websocket-spring-boot-starter 提供了一个高效、简单、易用的 WebSocket 服务器开发框架,可以减少开发者的开发成本和工作量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值