gpt4 book ai didi

java - Netty 无法在 channel 中发送第二个请求

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

我尝试在netty中模拟http握手,但客户端无法发送第二个请求。这是流程

Client -> request1 -> Server
Client <- response <- server
Client -> request2 -> Server (cannot see data is sent)
Client <- response <- server

这是代码 https://github.com/Tonghua-Li/Netty-Handshake-Test/tree/master/src/main/java

服务器和客户端日志位于 git repo 的根文件夹中 https://github.com/Tonghua-Li/Netty-Handshake-Test/blob/master/client.log

从日志中,请求 2 已准备好并刷新到端口 80(服务器)。但我在客户端日志中没有看到十六进制 block 作为请求 1

sending request 2
Sep 24, 2019 6:02:40 PM io.netty.handler.logging.LoggingHandler flush
INFO: [id: 0xd6797f27, L:/127.0.0.1:60893 - R:/127.0.0.1:80] FLUSH

谢谢!

最佳答案

您需要创建 FullHttpRequest 实例,或者需要在发送下一个 之前使用 LastHttpRequest“终止”您的 HttpRequest HttpRequest.

如果将 ChannelFutureListener 附加到 writeAndFlush(...) 返回的 ChannelFuture,您将看到 ChannelFuture 失败,因为“消息序列”不是预期的。

关于java - Netty 无法在 channel 中发送第二个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58088779/

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