`

Netty 接收消息过长引发的异常问题

阅读更多
Netty客户端发送的字符串太大了,服务器端会出现如下错误:
io.netty.handler.codec.CorruptedFrameException: Max frame length of 65536 has been exceeded.

经过一轮的排查,发现在定义握手对象的时候使用默认构造函数
WebSocketServerHandshakerFactory wsFactory = new WebSocketServerHandshakerFactory(
                getWebSocketLocation(req), null, true);

在默认构造函数里面有个 maxFramePayloadLength 属性 ,默认构造函数,指定该值为65536.设置这个值为最大每帧处理数据的长度,根据具体情况来设置这个数值,防止他人利用大数据来攻击你的服务器。

在WebSocketServerHandler 初始化握手对象时,指定 maxFramePayloadLength  的长度即可。
WebSocketServerHandshakerFactory wsFactory = new WebSocketServerHandshakerFactory(
                getWebSocketLocation(req), null, true,6553600);

这样可以解决报错的问题!
分享到:
评论

相关推荐

    使用netty实现TCP长链接消息写入kafka以及kafka批量消费数据

    标题"使用netty实现TCP长链接消息写入kafka以及kafka批量消费数据"揭示了这个项目的核心内容:通过Netty接收TCP长连接的数据,并将这些数据存储到Kafka中,同时利用Kafka的批量消费功能对数据进行处理。下面我们将...

    netty案例,netty4.1中级拓展篇十《Netty接收发送多种协议消息类型的通信处理方案》源码

    netty案例,netty4.1中级拓展篇十《Netty接收发送多种协议消息类型的通信处理方案》源码 ...

    netty 实现长连接

    标题中的“netty 实现长连接”指的是使用Netty框架构建能够维持长时间连接的网络通信应用。Netty是一个高性能、异步事件驱动的网络应用程序框架,适用于开发服务器和客户端的高性能、高可用性协议库。在传统的HTTP或...

    netty websocket通讯接收数据不完整问题

    这是一个java web项目集成了netty websocket的完整代码。java web项目作为服务器端和客户端进行数据通信。但是常常存在提示Max frame length of 65536 has been exceeded问题。初始化握手对象时指定了...

    netty接收串口数据代码,测试串口工具

    java netty接收串口数据 开启windows串口工具 发送串口数据调试助手

    基于netty实现的支持长连接的rpc

    标题中的“基于netty实现的支持长连接的rpc”是指利用Netty框架构建一个远程过程调用(RPC)系统,该系统能够维持长时间的连接状态,提高通信效率。Netty是一个高性能、异步事件驱动的网络应用程序框架,适用于开发...

    Netty实现简单的聊天消息群发功能

    本项目通过Netty实现了一个简单的聊天消息群发功能,使得多个客户端可以向服务端发送消息,服务端接收到消息后,再广播给所有连接的客户端。这对于构建分布式聊天系统或者实时通知系统非常有用。 首先,我们要理解...

    Netty进制转换乱码问题

    在使用Netty进行TCP/IP通信时,我们可能会遇到数据进制转换导致的乱码问题。这个问题通常是由于数据编码不一致或者处理方式不当所引起的。在本文中,我们将深入探讨Netty中的进制转换和字符编码,并提供解决方案。 ...

    基于netty4 的udp字节数据接收服务

    在本文中,我们将深入探讨如何利用 Netty 4 构建基于 UDP(用户数据报协议)的数据接收服务,以及如何实现相应的发送服务。 首先,UDP 是一种无连接的传输层协议,它不保证数据的顺序或可靠性,但具有较低的开销,...

    Netty4编写服务器客户端,自定义编解码,发送自定义消息

    在这个项目中,我们将深入理解如何利用 Netty 4 来编写服务器和客户端,实现自定义的消息编解码,并进行通信。 首先,我们要创建一个自定义的消息类。这个消息类通常会包含必要的字段,比如消息头、消息体等,以...

    netty分隔符和定长解码器的应用

    在Netty中,解码器是处理接收数据的重要组件,用于将接收到的原始字节流转换为可操作的对象。本篇将深入探讨Netty中的两种解码器:分隔符解码器(DelimiterBasedFrameDecoder)和定长解码器...

    netty-socketio消息推送jar包

    Netty-SocketIO消息推送jar包是一组专为实现基于Netty框架的Socket.IO消息推送功能而设计的库。Socket.IO是一种实时应用框架,它在客户端和服务器之间提供了一种低延迟、高效率的双向通信机制。Netty,另一方面,是...

    Spring Boot 整合 Netty + WebSocket 实时消息推送

    8. **错误处理和异常捕获**:在WebSocket和Netty的实现中,需要妥善处理各种可能出现的错误和异常,例如网络中断、消息解析错误等,以保证系统的稳定性和健壮性。 综上所述,Spring Boot与Netty的结合使用,能够...

    使用Netty4实现多线程的消息分发

    在本文中,我们将深入探讨如何利用 Netty 4 实现多线程的消息分发,这对于构建分布式系统、游戏服务器或者任何需要高效处理并发连接的应用尤其重要。 一、Netty 框架简介 Netty 是由 JBoss 提供的一个开源项目,它...

    Netty4长连接(服务端+客户端)

    在上述代码中,我们创建了服务器和客户端的Bootstrap,并在pipeline中添加了Msgpack的编解码器以及自定义的处理器类,用于处理接收到的消息。 总结,Netty4提供了强大的功能来支持长连接、断开重连和心跳检测,结合...

    Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息示例代码.rar

    Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息示例代码;Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息示例代码;Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息示例代码

    netty5长连接.自动重连

    在“netty5长连接.自动重连”这个主题中,我们将深入探讨 Netty 如何实现长连接以及自动重连的机制。 首先,让我们理解什么是长连接。在传统的 TCP/IP 协议中,每次通信都需要建立一次连接(三次握手),完成数据...

    java实现基于netty 的udp字节数据接收服务

    本示例关注的是如何利用Netty实现一个基于UDP(User Datagram Protocol)的数据接收服务,这在需要进行快速、无连接的数据传输场景中非常常见。以下是对这个主题的详细讲解: 首先,我们需要理解UDP的基础知识。UDP...

    Netty 消息接收和线程处理模型

    Netty 消息接收和线程处理模型分析 Netty 消息接收和线程处理模型是 Netty 框架中非常重要的一部分,它直接关系到系统的性能、时延和可靠性。在本文中,我们将对 Netty 消息接收和线程处理模型进行深入分析,并从...

    Netty简介.pdf(长连接)

    Netty的长连接特性指的是在网络通信中,一旦连接建立,就会保持这个连接状态,直到连接的一方主动关闭或者因为网络问题断开。相比短连接,长连接在高并发、低延迟的场景下优势明显,因为它避免了频繁创建和销毁连接...

Global site tag (gtag.js) - Google Analytics