Эта тема на forum.dklab.ru


Keeper: Контроль скачанных байтов
Здравствуйте!
В своем скрипте я использую сокет для выдачи файла, т.е. открываю соединение, отправляю запрос файлу на своем же сервере и отправляю ответ клиенту. Можно ли каким-либо образом контролировать/подсчитывать количество полученных пользователем байт?
Ant:
К сожалению, это невозможно. Даже сам протокол TCP/IP (если мне память не изменяет) не гарантирует доставку пакетов (это уже сторона получателя посылает новые запросы на не поступившие/повреждённые пакеты).

Плюс ко всему рекомендую ознакомиться:
http://xpoint.ru/archive/threads/89/17823.html,
http://xpoint.ru/forums/programming/PHP/thread/26119.xhtml.

Удачи.
Ant:
Кстати, я, конечно, немного громко сказал «невозможно». Возможно-то всё. Читать стоит как «очень трудно». Можно попробовать написать клиент/сервер-систему. При скачке клиент будет посылать серверу информацию: какая часть байтов была реально принята. Есть и другие пути, но все они достаточно сложные и у всех у них есть один недостаток (как минимум) — на 100% проверить, реально ли файл был успешно закачан, практически невозможно.
WingedFox:
Ant:
Возможно.
Как пример - протоколы Z-modem, Hydra гарантируют точный ответ, был ли получен файл полностью и с корректным содержимым.
Но для этого нужно писать свой софт.

Как пример реализации - BinkD.
Ant:
Но для этого нужно писать свой софт.
А оно нам надо? (-:
WingedFox:
Ant:
Нам - пока что нет =)
Keeper:
Спасибо. Темы на xpoint полностью осветили мне проблему.
Дмитрий Котеров:
Тема закрыта.

Эта тема на forum.dklab.ru