У меня есть приложение для Android, которое связывается с сервером через асинхронное сокетное соединение для передачи довольно больших пакетов информации (до 11 мегабайт). Чтобы приспособиться к этому взаимодействию, я поместил небольшие сны в ключевые точки отправки и получения данных. На WiFi связь работает. Делать с размером информации, которую нужно прочитать или записать, недостаточно, но я создал функции, позволяющие продолжать чтение из сокета до завершения передачи.
Как я уже сказал, все это работает по WiFi. Однако в сетях 3G или пограничных сетях передача завершается неудачно, прерывается на полпути и, как правило, связана с ошибками. Я разместил множество проверок и снов, чтобы обеспечить возможность передачи информации, однако это не удается.
К сожалению, трудно установить ясность источника проблемы. Я работал в течение нескольких дней, пытаясь решить эту проблему максимально элегантно, но безрезультатно.
TLDNR WiFi может отправлять данные, но мобильные сети не работают. Мне нужно знать, почему и как это исправить.
Спасибо.