Нам нужно написать программное обеспечение, которое бы непрерывно (т.е. новые данные отправлялось по мере их поступления) отправляло очень большие файлы (несколько ТБ) одновременно нескольким адресатам. У некоторых пунктов назначения есть выделенное оптоволоконное соединение с источником, а у некоторых нет.
Возникает несколько вопросов:
- Мы планируем использовать TCP-сокеты для этой задачи. Какую процедуру отработки отказа вы бы порекомендовали для обработки отключений сети и разрыва соединений?
- Что должно произойти после завершения загрузки: должен ли сервер закрывать сокет? Если это так, то является ли хорошим решением для проекта, чтобы другой демон предоставлял контрольные суммы файлов на другом порту?
- Не могли бы вы порекомендовать метод обработки поврежденных файлов, помимо их повторной загрузки? Возможно, я мог бы разбить их на 10-мегабайтные блоки и рассчитать контрольные суммы для каждого блока отдельно?
Спасибо.