Поскольку я не совсем уверен, где вам нужна помощь, я дам вам обзор хороших методов:
Я полагаю, вам придется реализовать ответ.
Я ожидаю, что вы уже используете TCP, который поставляется с автоматической проверкой правильности полученных пакетов. Но с этой встроенной функциональностью вы не можете проверить, что целые файлы были успешно отправлены.
Если вы в порядке, увеличивая количество пакетов, отправляемых между вашим сервером и клиентом, вы можете написать ответ, который отправляется сервером при получении всего файла. После получения этого ответа указатель можно увеличить на единицу (перейти к следующему элементу списка), метод send будет запущен со следующим файлом, и весь процесс будет повторен.
Наличие функции отправки / ответа или отправки / прослушивания как от вашего клиента, так и от сервера - это хороший способ отодвинуть ошибки или подтверждения от одного к другому и поддерживать работу обоих концов - зная, что делает другой.
Если вы пытаетесь минимизировать посылку пакетов между клиентом и сервером, вы можете использовать UDP, но это действительно плохой вариант для таких вещей, как передача файлов. Вы также можете просто передавать все свои данные большими порциями, а не по крупицам - но вы не получите никакой реальной проверки каждого отправляемого файла, как вы хотите.