LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Я что-то не совсем понял. Сервер с клиентом общается с помощью покетов, которые содержат HTTP - заголовки. Если сервер не получит connection-close, как он узнает, что соединение закрыто клиентом?

Серверу не надо этого знать. Классический пример (без реюза соединения): клиент посылает запрос, закрывает соединение на запись и начинает читать. Соответственно сервер читает запрос, пока не достигнет конца, формирует ответ, высылает его клиенту и закрывает сокет полностью со своей стороны. Клиент вычитывает ответ до конца и окончательно закрывает сокет со своей стороны.

При этом клиент может отвалиться на стадии трансфера ответа, тогда серверу придёт connection reset при очередной попытке записи. В принципе на реальном сайте таких reset-ов полно. Но вообще говоря это не стандартная ситуация.

Исходная версия Legioner, :

Я что-то не совсем понял. Сервер с клиентом общается с помощью покетов, которые содержат HTTP - заголовки. Если сервер не получит connection-close, как он узнает, что соединение закрыто клиентом?

Серверу не надо этого знать. Классический пример (без реюза соединения): клиент посылает запрос, закрывает соединение на запись и начинает читать. Соответственно сервер читает запрос, пока не достигнет конца, формирует ответ, высылает его клиенту и закрывает сокет полностью со своей стороны. Клиент вычитывает ответ до конца и окончательно закрывает сокет со своей стороны.