Разные DSL-ссылки имеют разных размеров пакетов в зависимости от провайдера, сети, предпочтений пользователя и других факторов. Со стороны сервера невозможно предсказать, что будут иметь ваши пользователи, и обременительно заставлять их говорить вам.
Просто отправьте данные по TCP. Протокол предназначен для самостоятельной настройки на оптимальный размер пакета для клиента и сервера.
Если вы разбиваете свои данные на (большие) блоки для поддержки возобновленной загрузки, то вы можете определить, сколько времени потеряет клиент, если ему придется повторно передать блок (например, если загрузка была прервана). Таким образом, если они были прерваны во время передачи блока 1 МБ, и у них есть восходящая линия связи 700 КБ, то они потеряют чуть более одной секунды, если им придется повторно передать весь блок. Вы можете использовать это и свою измеренную вероятность полного отказа соединения TCP & mdash; закрытый сокет и блок, требующий повторной передачи & mdash; рассчитать ожидаемые затраты на повторную передачу для файла.
Поскольку сбой TCP действительно редок (как правило, он просто буферизуется и ждет отправки остальных данных, если мобильное соединение качается), редкая задержка в 1сек, вероятно, незаметна, если у вас нет цикла управления в реальном времени. Который предположительно не загружает всю базу данных.