gpt4 book ai didi

java - ruby 在 Netty 中为 LengthFieldBasedFrameDecoder 参数构建一个文件

转载 作者:可可西里 更新时间:2023-11-01 02:42:33 25 4
gpt4 key购买 nike

我在一个 API 中为 Netty 设置了这个参数,我需要通过 TCP(启用 SSL)向其发送数据。

LengthFieldBasedFrameDecoder(1048576, 0, 4, 0, 4))

参数:

  • maxFrameLength - 帧的最大长度。如果帧的长度大于该值,将抛出 TooLongFrameException。
  • lengthFieldOffset - 长度字段的偏移量。
  • lengthFieldLength - 长度字段的长度。
  • lengthAdjustment - 添加到长度字段值的补偿值。
  • initialBytesToStrip - 要从解码帧中剥离的第一个字节数。

我有消息(字符串)需要发送,但由于以下原因被拒绝:错误消息“调整后的帧长度超过 1048576:2065855613”

那么问题来了,ruby中的message怎么设置frame才能满足Netty的参数呢?

最佳答案

您的问题是您没有在消息中指定帧字段长度。十进制数 2065855613 在 ASCII 中是 {"t},看起来像 JSON 消息开头的前几个字节。

解决方案是确保将 4 字节的消息长度附加到消息的开头(不包括长度字段本身的长度)。

关于java - ruby 在 Netty 中为 LengthFieldBasedFrameDecoder 参数构建一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32596807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com