2012-05-18 17 views
8

Quiero crear una aplicación de chat para Android y quiero saber la mejor manera de hacerlo. Mi primera opción es usar una conexión de socket entre el teléfono y el servidor para que el servidor pueda enviar cualquier mensaje nuevo al teléfono.Desarrollo de aplicaciones de chat para Android

La segunda opción es usar C2DM.

Una aplicación de chat como ¿cómo está implementado con socket o usando C2DM?

¿Existe una mejor manera de crear una aplicación que la anterior?

Gracias.

Respuesta

3

asmack y OpenFire es la manera más fácil. No hay necesidad de reinventar la rueda.

Pero si desea RTW, abra un socket mientras la aplicación está en primer plano y use C2DM cuando no lo esté. BTW C2DM es un PITN con el que trabajar, así que considere usar un servicio como Urban Airship.

+0

Actualmente estoy aprendiendo más acerca de Android, así que me gusta reinventar la rueda :). He leído sobre XMPP y parece ser ampliamente utilizado. Me pregunto cómo funciona XMPP, por lo que leo XMPP es una conexión TCP/IP, así que mi pregunta es cómo empuja el mensaje cuando la aplicación de Android se cierra como lo hace el servicio de SMS. Gracias .. – Catalin

+0

El cliente XMPP mantiene una conexión de socket al servidor, incluso cuando la aplicación está cerrada. En Android, es posible cerrar una aplicación pero no cerrar todos sus procesos. –

7

C2DM (ahora conocido como GCM) no será una buena opción para crear una aplicación de chat. Cree una conexión de socket con el servidor cuando la aplicación está en primer plano, cuando la aplicación está en segundo plano, use GCM para notificaciones push. Tendrás que alojar tus propios servidores pero te sugiero que no reinventes la rueda y uses algo como Applozic (https://www.applozic.com) chat sdk que te dará funciones como WhatsApp y mucho más en una hora.

Cuestiones relacionadas