Приложение не работает, когда на 3G. На WiFi работает нормально
У меня есть приложение, которое связывается с веб-сервером через REST. Он работает нормально на телефоне при подключении через WiFi, но не работает правильно, когда на 3G.
Не все перестает работать. Я все еще могу использовать некоторые функциональные возможности, но по некоторым причинам некоторые вызовы rest возвращаются "" (пустой ответ) очень быстро. Еще раз, когда я нахожусь на WiFi, все работает отлично.
Просто чтобы уточнить: 1. У меня есть тарифный план:) 2. Сервер, к которому я подключаюсь, доступен из Интернета.
Какие-нибудь мысли?
Спасибо Ральф
3 ответа
Это не должно быть конкретной проблемой телефона. Это может произойти, если в настройках APN отсутствует интернет-APN. Возможно, у вас есть APN для gprs и mms, но есть вероятность, что ваш провайдер пропустил отправку вам вашего APN для Интернета. Сделайте быстрый гугл для настроек интернет-APN вашего провайдера и введите его там.
Пример настройки интернет-APN для! Dea будет выглядеть следующим образом.
имя: idea_internet apn: интернет apn тип: интернет
Пожалуйста, попробуйте. Это решит проблему со всеми вашими коммуникационными приложениями. У меня было то же самое на моей галактике S3, и это исправило мою проблему.
Ура! bonbets
Просто измените имена точек доступа с "GPRS/WAP" на "Интернет".... Это будет нормально работать. Теперь я могу получить доступ ко всем приложениям с 3G.
Если проблема возникает только при изменении типа подключения, это, скорее всего, связано с плохим подключением к серверу.
HTTP разработан таким образом, что в случае ошибки подключения вы можете просто повторить тот же запрос, пока не получите результат.
Но для того, чтобы это сработало, вы должны убедиться в нескольких вещах. Во-первых. Все ответы должны иметь длину контента. Во-вторых, все методы должны быть "безопасными" (или идемпотентными).
Это означает, что если вы отправите запрос несколько раз, вы получите тот же результат. GET, PUT и DELETE в порядке. (PUT может сказать, что создан или обновлен, а DELETE может сказать "ОК" или "уже сделано", но конечный результат тот же).
POST это проблема. Решение состоит в том, чтобы уникальный идентификатор отправлялся с каждым POST и сохранялся вместе с его данными. Таким образом, вы можете сказать, если есть дубликат запроса.
Другой проблемой может быть кэширование провайдером 3G. Убедитесь, что сервер и клиент правильно настраивают кэширование для ваших нужд.
Майк Браун