Я пишу библиотеку базы данных, которая должна будет разумно поддерживать тайм-ауты . Теперь, когда я смотрю на пул соединений, меня особенно беспокоит следующий сценарий:
Шаг четвертый может произойти, потому что запросы не помечены идентификатором запроса: все, что я знаю, это то, что я получил ответ, и я не Не знаю, к какому запросу он принадлежит. Кто-то может возразить, что это ошибка протокола, но это не мое дело.
Что мне делать с сокетом перед отправкой запроса №2, чтобы избежать такого позднего ответа? Единственно правильный способ shutdown ()
, close ()
и повторно connect ()
?