2010-11-01 23 views
5

Estaba explorando varios métodos para implementar la comunicación entre un servidor TCP/IP de fabricación casera y una aplicación de cliente Android.Mejor estrategia de comunicación entre el cliente de Android y el servidor .Net C#

Algunas ideas: - TCP/IP del servidor de bases de JSON - Servicio de biblioteca con WCF - Algún tipo de servidor REST

¿Cuál es la estrategia de bestia y bibliotecas de abordar este problema?

+0

¿Qué tipo de datos desea transferir? – davisoa

+0

Datos en su mayoría simples como mensajes y varios estados de algunos sistemas. – bmustata

+0

Hola, yo mismo estoy en la misma posición, obtuve una aplicación C# y voy a hacer un cliente Android (Java) para comunicarme con ella. Tratando de buscar la mejor solución sobre cómo hacerlo, ¿de qué manera lo implementó? Gracias :) – FrieK

Respuesta

7

Para mensajes simples y comprobaciones de estado, cualquier solución basada en HTTP sería una opción mucho mejor que crear su propio protocolo TCP/IP.

Es mucho menos probable que el tráfico HTTP tenga cortafuegos, por lo que evitará una gran cantidad de accesibilidad y problemas de configuración.

Si debe o no usar REST, depende de la naturaleza de su aplicación. REST tiene mucho sentido para las aplicaciones CRUD, pero tiene mucho menos sentido para otros tipos de aplicaciones.

1

¿Por qué TCP/IP en lugar de HTTP básico?

Android tiene un soporte sólido para interactuar con la nube a través de HTTP - Verifique el objeto HttpClient y el proyecto de ejemplo "SampleSyncAdapter" en la carpeta de código de muestra de su instalación de SDK para un ejemplo práctico.

Elegir un formato (XML, JSON, etc.) depende de usted, pero si está interesado en hacer su aplicación RESTful (o determinar si es apropiado), un buen lugar para comenzar sería la charla de Google IO en aplicaciones de cliente REST de Android.

+0

Dado que HTTP se implementa (generalmente) sobre TCP/IP, creo que la pregunta podría ser, por qué HTTP en lugar de TCP/IP simple. mikerobi dio una buena respuesta, en el sentido de que el tráfico HTTP es probablemente el más probable de todos. Y, obviamente, hay muchos códigos robustos disponibles tanto para el servidor como para el cliente. –

+0

¿Alguna solución simple para implementar un servidor HTTP en C#? – bmustata

0

Esta respuesta llega un poco tarde pero también puede considerar usar Eneter Messaging Framework. Es el marco liviano multiplataforma que permite implementar la comunicación con mensajes. Para la comunicación con .NET puede usar protocolos TCP o HTTP.
Ejemplo de la comunicación entre Android y .NET es here.
Información técnica que puedes encontrar here.
Espero que ayude a alguien.

Cuestiones relacionadas