2010-11-01 5 views
5

J'étudiais différentes méthodes pour mettre en œuvre la communication entre un serveur TCP/IP fait maison et une application cliente Android.Meilleure stratégie de communication entre le client Android et le serveur .NET C#

Quelques idées: - bases de serveur TCP/IP sur JSON - service avec bibliothèque WCF - Une sorte de serveur REST

Quelle est la stratégie de la bête et les bibliothèques pour aborder ce problème?

+0

Quel type de données voulez-vous transférer? – davisoa

+0

Principalement des données simples comme les messages et l'état divers de certains systèmes. – bmustata

+0

Salut, je suis moi-même dans la même position, j'ai une application C# et je vais faire un client Android (Java) pour communiquer avec. Essayer de trouver la meilleure solution, comment avez-vous finalement mis en œuvre? Merci :) – FrieK

Répondre

7

Pour une messagerie simple et des vérifications d'état, toute solution basée sur HTTP serait un bien meilleur choix que de trouver votre propre protocole TCP/IP.

Le trafic HTTP est nettement moins susceptible d'être protégé par un pare-feu, ce qui vous évite de nombreux problèmes d'accessibilité et de configuration. Que vous utilisiez REST ou non, cela dépend de la nature de votre application. REST a beaucoup de sens pour les applications CRUD, mais beaucoup moins de sens pour d'autres types d'applications. Pourquoi TCP/IP à la place du HTTP de base?

1

Android dispose d'un support solide pour interagir avec le cloud via HTTP - Découvrez l'objet HttpClient, et l'exemple de projet "SampleSyncAdapter" dans l'exemple de dossier de code de votre installation SDK pour un exemple pratique.

Le choix d'un format (XML, JSON, etc.) dépend vraiment de vous, mais si vous souhaitez rendre votre application RESTful (ou déterminer si c'est approprié), un bon point de départ serait le dialogue Google IO sur les applications client REST Android.

+0

Étant donné que HTTP est (généralement) mis en œuvre sur TCP/IP, je pense que la question pourrait être, pourquoi HTTP au lieu de TCP/IP ordinaire. mikerobi a donné une bonne réponse - en ce sens que le trafic HTTP est probablement le plus susceptible d'être autorisé. Et évidemment, il y a beaucoup de code robuste disponible pour le serveur et le client. –

+0

Une solution simple pour implémenter un serveur HTTP en C#? – bmustata

0

Cette réponse arrive un peu tard mais vous pouvez également envisager d'utiliser Eneter Messaging Framework. C'est le framework léger multiplateforme permettant d'implémenter la communication avec les messages. Pour la communication avec .NET, vous pouvez utiliser les protocoles TCP ou HTTP. Exemple de communication entre Android et .NET: here.
Informations techniques vous pouvez trouver here.
J'espère que cela va aider quelqu'un.

Questions connexes