Обнаружение поздних ответов - PullRequest
0 голосов
/ 13 марта 2012

Я использую Netty 3.3.1.

Я хочу (1) прервать отправку позднего ответа на стороне сервера и (2) отклонить поздние ответы, поступившие с сервера на стороне клиента.

Мой рабочий процесс выглядит следующим образом. Я отправляю запрос от клиента и ожидаю, что сервер ответит в течение 30 секунд. Если это не так, я предполагаю, что что-то пошло не так, и отправляю запрос заново. Теперь я беспокоюсь, что клиент получит старый ответ, ожидая новый ответ. Я хочу обнаружить это (в основном на стороне клиента, но было бы здорово, если бы сервер решил не отправлять ответ через 30 секунд).

Могу ли я использовать для этого Netty IdleStateHandler / WriteTimeoutHandler / ReadTimeoutHandler? Обратите внимание, что я не отключаю канал, но повторно использую его для будущих запросов / ответов и что таймер не должен сбрасываться на сервере, когда клиент повторно отправляет запрос по тому же каналу.

Моя вторая идея заключалась в том, чтобы ставить отметки о времени запросов и ответов.

OTOH, я усложняю вещи? Могут ли поздние ответы вообще случиться?

1 Ответ

1 голос
/ 14 марта 2012

Я думаю, что правильным способом справиться с этим было бы иметь какой-то "идентификатор", который можно использовать, чтобы увидеть, является ли это "старым" ответом или нет.

...