История изменений
Исправление rumgot, (текущая версия) :
Ты прав. Но рассуждаем дальше: в случае transfer_at_least(1) зависание при чтении возможно только! когда сервер не прислал данных вообще. С другой стороны при использовании больших значений аргумента transfer_at_least(minBytesRead), вероятность зависания будет в случаях когда количество поступивших байт находится в промежутке от нуля(сервер ничего не прислал) до minBytesRead - 1. Т.е. как видишь вероятность зависания и срабатывания таймера явно выше во втором случае. Также, в случае http, при использовании transfer_at_least(1), в конце чтения, когда сервер ничего не пришлет, можно обойтись без таймаута анализируюя полученные данные и не запуская следующее чтение, если все данные уже приняты. Лучше стараться избегать срабатывания таймаутов, ведь это лишнее ожидание.
Исходная версия rumgot, :
Ты прав. Но рассуждаем дальше: в случае transfer_at_least(1) зависание при чтении возможно только! когда сервер не прислал данных вообще. С другой стороны при использовании больших значений аргумента transfer_at_least(minBytesRead), вероятность зависания будет в случаях когда количество поступивших байт находятся промежутке от нуля(сервер ничего не прислал) до minBytesRead - 1. Т.е. как видишь вероятность зависания и срабатывания таймера явно выше во втором случае. Также, в случае http, при использовании transfer_at_least(1), в конце чтения, когда сервер ничего не пришлет, можно обойтись без таймаута анализируюя полученные данные и не запуская следующее чтение, если все данные уже приняты.