gpt4 book ai didi

java - 网络 4.0.0_CR7 : Chunked[Byte]Input does not always get drained completely

转载 作者:行者123 更新时间:2023-11-29 09:01:01 26 4
gpt4 key购买 nike

环境:Win 7/JRE 1.6.0_45/Netty 4.0.0_CR7

我的客户端应用程序正在使用 ChunkedByteInput 的实现将文件流式传输到 TCP 服务器。一个典型的 10 MB 大小的文件以每个 20 kB 的 block 传输,产生大约 500 个 block 。

TCP 连接是预先设置的(GUI 元素,如上传按钮在连接建立后启用),之后也不会关闭。相反,表示单个文件的 ChunkedByteInput 实现会在包含文件名和大小的 header block 前面加上一个带有文件的 MD5 哈希的页脚 block 。

通常情况下,一切都很好。但在随机情况下 (10-20%),传输在某个任意 block 后停止(ChunkedInput.readChunk() 不再被调用)。作为一种解决方法,我只是在检测到一段时间(比如 5 秒)的不活动后再次将不完整的输入再次写入 channel ,然后传输恢复并正常完成。但这显然是一个肮脏的黑客攻击。

知道是什么导致了这种行为吗?

编辑:这是Github上相关问题的链接: https://github.com/netty/netty/issues/1506

最佳答案

通过升级到 Netty 4.0.1 解决

关于java - 网络 4.0.0_CR7 : Chunked[Byte]Input does not always get drained completely,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17421350/

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