Добрый день.
Моя задача: научиться загружать файл на сервер,сервер пишу на NodeJS.
Для общения клиента и сервера я использую WebSocket.
Сложность в том, что в роли клиентов у меня выступают телефоны. Всем известно что у телефонов не стабильное соединение и может пропадать интернет, а через некоторое время возобновляться. Так вот, мне нужно реализовать передачу данных так, чтоб в случае потери соединения все не обрывалось, а ожидало продолжения. То бишь как только соединение с интернетом снова появлялась - передача данных восстанавливалась с того же места, где оборвалась загрузка.
Как быть? Может есть уже готовые библиотеки? Может у кого статейка есть.
Принимаю любую информацию.
Не знаю на счёт готовых библиотек.
Я делал так (в tcp сокетах):
1. Берём файл.
2. Читаем первые Х байтов (я брал по 8к).
3. Отправляем их на сервер с указанием отступа.
4. После того, как сообщение успешно доставлено, повторяем 2-й пункт со следующими байтами. И так до конца файла.
5. Соответственно, если соединение прервалось, запоминаем позицию последнего байта и при восстановлении соединения, отправляем дальше с последнего места.