Netty не может отправить второй запрос в канале - PullRequest
0 голосов
/ 25 сентября 2019

Я пытался смоделировать http-рукопожатие в netty, но клиент не может отправить второй запрос.Это поток

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 (сервер).но я не вижу шестнадцатеричный блок в клиентском журнале как запрос 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

Спасибо!

1 Ответ

1 голос
/ 25 сентября 2019

Вам нужно создать FullHttpRequest экземпляров или вам нужно "прекратить" ваш HttpRequest с помощью LastHttpRequest перед отправкой следующего HttpRequest.

Если вы прикрепите ChannelFutureListener кChannelFuture, возвращаемое writeAndFlush(...), вы увидите, что ChannelFuture не удалось, поскольку «последовательность сообщений» не соответствует ожидаемой.

...