Насколько мне известно, в большинстве учебных пособий и примерах для android используется использование GCM для отправки данных с сервера на устройство Android; и использовать скрипты php вместе с методами post/get для отправки данных с устройства на сервер.
Мой друг (кто-то, кто не знает о программировании в Android) просто спросил меня: почему мы не можем использовать класс Socket в java? В традиционном java-программировании вы используете сокеты (IP-адрес + номер порта) для достижения функциональности, аналогичной GCM (одиночные серверы с несколькими серверами), используя правильные методы, которые вы можете обеспечить, чтобы сообщения не терялись, как gcm).
Может ли этот традиционный подход к сокету быть реализован и в android? Если да, каковы плюсы и минусы GCM и Sockets? В каких ситуациях целесообразно использовать сокеты? Whatsapp и множество других приложений, насколько мне известно, используют GCM. Существуют ли приложения, которые используют сокеты?
P.S: Я просто ученик C.S.; извиняюсь, если у меня есть свои понятия где-то где-то