Я создаю приложение типа viber, то есть пользователи андроида могут создавать мгновенные сообщения в своих устройствах на базе Android. Я создал веб-сервисы от клиента к серверу с помощью ASP.NET (служба ASMX с ответом JSON), и он работает как шарм, но с другой стороны, то есть запросы от сервера к клиенту - это лишь небольшая головная боль. Конечно, я могу сделать свое приложение таким образом, чтобы не требовалось запросов от сервера к клиенту (отправка коротких запросов с клиента на сервер в короткие периоды времени), но таким образом сервер будет перегружен специально, когда число пользователей увеличивается. Я нашел несколько технологий обмена мгновенными сообщениями, включая GCM и XMPP. Каковы мои другие варианты? или позвольте мне спросить, каков мой лучший вариант? Должен ли я использовать сокеты? Если да, то как я могу всегда иметь IP-адрес моих клиентов (учитывая, что клиенты являются мобильными пользователями, которые могут использовать Wi-Fi или GPRS/3G/4G интернет). Я думаю о системе, в которой мои клиенты отправляют свой IP каждый n секунд (n может быть около 30), поэтому сервер всегда имеет (почти) обновленный список клиентских IP-адресов. Возможно ли это или даже логично?Отправка данных с ASP.NET на android
ответ
Вы определенно должны рассмотреть возможность использования GCM (Google Cloud Messaging for Android)
Вам нужно установить несколько вещей на сервере, чтобы иметь возможность использовать его для отправки через GCM. Его встроенный способ передачи данных от сервера к андроид устройства, надеюсь, что это может помочь
Использование старой доброй стратегии длительного опроса всегда возможно, но есть гораздо более эффективные способы сделать это сейчас. Это, пожалуй, самый быстрый для реализации упомянутых (не так, если вы хотите правильно его реализовать и с минимальным количеством нагрузки на ваш сервер/механизм БД). Я видел некоторые проекты, которые начинаются вокруг этой архитектуры с идеей перейти к чему-то лучшему в будущем ... и момент, чтобы двигаться никогда не приходит, конечно. Если вы начнете просматривать свой Android-телефон, подключенный к прокси-серверу, например, Charles, вы увидите, что я имею в виду :)
WebSockets - это вариант, но я не вижу причины, по которой я бы использовал их для Viber-like приложение, основанное на событиях (вы получили сообщение), а не «в режиме реального времени» (например, мониторинг некоторых движений графической графики).
Ваш лучший выбор здесь a Google Cloud Messaging (GCM)! Его легко реализовать как на вашем бэкэнд, так и на клиенте, и он построен специально с учетом проблемных подключений (переключение между Wi-Fi/плохим 3g/4g/etc). У этого есть некоторые довольно приятные функции, которые другие методы не предоставляют «из коробки» - пересылку сообщения (общий сценарий клиента, теряющий его соединение - GCM, он отправит push-уведомление позже, когда он выйдет онлайн), автоматически синхронизация между устройствами (смартфон, планшет и т. д.) и другие.
- 1. ASP.NET: отправка данных с клиента на сервер
- 2. Android: отправка данных на фрагменты
- 3. Отправка данных с устройства на устройство Android
- 4. Отправка входных данных с android на php
- 5. Отправка сериализованных данных с android на java
- 6. отправка данных на PHP с android
- 7. Отправка данных с помощью QUdpSocket на Android
- 8. Отправка данных с сайта на приложение android
- 9. Отправка данных с Android на PHP
- 10. Отправка данных с android на веб-сервер
- 11. Asp.net Handler Отправка данных
- 12. asp.net отправка данных
- 13. Отправка объекта json на ASP.net C# с Android
- 14. ksoap2 android отправка данных
- 15. Отправка json на asp.net
- 16. отправка данных с устройства android на сервер в android 4.1.2
- 17. Android: отправка данных периодически
- 18. отправка данных местоположения с Android на базу данных MySQL
- 19. отправка asp.net форм данных с использованием $ .post
- 20. RadioButtons android отправка данных
- 21. Отправка данных из Android-приложения на Php
- 22. отправка двоичных данных через POST на android
- 23. Отправка курсора на ASP.net-приложение
- 24. Отправка данных с android на php с использованием volley
- 25. отправка данных с android на рельсы с использованием сервера Redis
- 26. Отправка данных на PHP с Android с помощью POST
- 27. Отправка данных с Android на сервер с данными JSON
- 28. Отправка данных с Arduino на Android с помощью Bluetooth
- 29. отправка данных с android на php с использованием json
- 30. Отправка данных с JavaScript на сервере
Простите, бит, но у меня точно такой же вопрос. Я тоже чувствую, что опрос блокирует ресурсы при увеличении трафика. Некоторые ребята говорят, что используют Push-уведомления? Вы пробовали GCM? что вы чувствуете @Ali_dotNet? что сработало лучше всего для вас? Im в основном заинтересованы в подключении Asp.Net к моему устройству Android, каких-либо успехов/подсказок? – user3833732
Push-уведомления точно такие же, как и GCM :). Точнее, GCM означает Google Cloud Messaging и в основном это инфраструктура, которую вы используете для реализации push-уведомлений. Не сомневайтесь в этом, определенно пойдите для GCM! – Vesko