2010-11-01 20 views
5

Badałem różne metody implementacji komunikacji między domowym serwerem TCP/IP a aplikacją klienta Android.Najlepsza strategia komunikacyjna między klientem Android a serwerem .Net C#

Kilka pomysłów: - TCP/IP serwera baz na JSON - Serwis z WCF biblioteki - Jakiś serwera REST

Jaka jest strategia bestia i biblioteki podejść do tego problemu?

+0

Jakie dane chcesz przenieść? – davisoa

+0

W większości proste dane, takie jak wiadomości i różne statusy niektórych systemów. – bmustata

+0

Witam, sam jestem w tej samej pozycji, mam aplikację w języku C# i zamierzam utworzyć klienta systemu Android (Java), aby się z nią komunikować. Próbujesz znaleźć najlepsze rozwiązanie, w jaki sposób ostatecznie je wdrożyłeś? Dzięki :) – FrieK

Odpowiedz

7

Dla prostych wiadomości i sprawdzania statusu, każde rozwiązanie oparte na HTTP byłoby o wiele lepszym wyborem niż wymyślanie własnego protokołu TCP/IP.

Ruch HTTP jest znacznie mniej narażony na działanie zapory sieciowej, dzięki czemu unikniesz wielu problemów z dostępnością i konfiguracją.

To, czy należy używać REST, zależy od charakteru aplikacji. REST ma wiele sensu dla aplikacji CRUD, ale ma mniej sensu dla innych typów aplikacji.

1

Dlaczego TCP/IP zamiast podstawowego HTTP?

Android ma stałą obsługę interakcji z chmurą za pośrednictwem protokołu HTTP - sprawdź przykładowy obiekt HttpClient oraz przykładowy projekt "SampleSyncAdapter" w przykładowym folderze kodu instalacji SDK.

Wybór formatu (XML, JSON, itp.) Zależy od Ciebie, ale jeśli chcesz złożyć aplikację RESTful (lub określić, czy jest to odpowiednie), dobrym miejscem na rozpoczęcie będzie rozmowa Google IO w aplikacjach klienckich aplikacji REST Androida.

+0

Biorąc pod uwagę, że HTTP jest (zwykle) realizowane przez TCP/IP, myślę, że może to być pytanie, dlaczego HTTP zamiast zwykłego TCP/IP. mikerobi dał jedną dobrą odpowiedź - w tym przypadku ruch HTTP jest prawdopodobnie najbardziej prawdopodobny. I oczywiście istnieje wiele niezawodnych kodów dostępnych zarówno dla serwerów, jak i dla klientów. –

+0

Każde proste rozwiązanie do wdrożenia serwera HTTP w języku C#? – bmustata

0

Ta odpowiedź jest nieco spóźniona, ale można również rozważyć użycie Eneter Messaging Framework. Jest to lekki, wieloplatformowy framework umożliwiający implementację komunikacji z wiadomościami. Do komunikacji z .NET można używać protokołów TCP lub HTTP.
Przykład komunikacji między Androidem a .NET to here.
Informacje techniczne można znaleźć here.
Mam nadzieję, że to pomoże komuś.

Powiązane problemy