Esta pregunta fue respondida en Stack Overflow. [Elección del número de puerto de Android C2DM]
Hay algunas razones por las que puedo pensar que Google puede haber elegido usar 5228 en lugar de 80 o 443.
En primer lugar, en la mayoría de los casos (pero definitivamente no en todos), 5228 no debería ser un problema (es decir, bloqueado) porque las notificaciones automáticas se utilizan en gran medida cuando los dispositivos están en movimiento. Esto significa que están utilizando conexiones de datos de teléfonos celulares que no bloquean este puerto y no tienen firewall.
- ¿Cuál es la diferencia entre Google Store y Google Play?
- Cómo crear mi propia aplicación de Android y ponerla en Google Playstore
- Google Play Store tiene cartas de tarot que puedes descargar. ¿Es tan bueno como tener las cartas reales y es seguro?
- Si cargamos una aplicación en Google Play Store, ¿Google la paga?
- En Android, cómo conectar mi aplicación con la base de datos del servidor SQL que está presente en una cuenta de hosting (ejemplo: "godaddy", "bigrock"), si esto no es posible, ¿hay alguna otra manera de conectar mi aplicación de Android a una base de datos en línea? ?
En segundo lugar, en el caso de entornos en los que podría haber un cortafuegos (es decir, con WiFi dentro de una empresa), también es probable que el tráfico http esté controlado o controlado de alguna manera. C2DM no se basa en un protocolo HTTP estándar y se espera que sea una conexión de larga duración. Esto significa que ejecutarlo en 80/443 puede causar problemas en estos entornos.
En tercer lugar, estos servicios probablemente usaban 5228 antes del lanzamiento de C2DM y no había una razón clara para cambiarlo.
Según mi experiencia, creo que hubiera sido ideal si usaran 5228 por defecto, e intentaran retroceder a 443 en otros casos (ya que definitivamente hay muchos escenarios en los que 443 funcionaría cuando 5228 no lo haría). Al menos en el caso del 443, la modificación de los datos es menos probable que en el puerto 80 porque el protocolo normalmente estaría encriptado. Sin embargo, aún es posible que la conexión finalice prematuramente en 443. Sin embargo, este riesgo existe en cualquier entorno de red, y no se produciría una caída en el intento.
Y en una nota separada, es probable que habilitar C2DM en 443 hubiera sido más difícil de lo que parece para Google porque sus servidores front-end distribuidos probablemente sepan cómo manejar específicamente el tráfico 80/443 como HTTP y requerirían una reelaboración significativa para manejar C2DM.