Consenti ai client Xamarin di ascoltare quando il server invia un'API

1

La mia situazione

Creerò un'applicazione Xamarin per Android in grado di accedere a un server Web ASP.NET MVC con API. Il problema è quando invierò un'API al server, tutti i client connessi devono ricevere un'API con le modifiche che avvengono dal client uno. Un esempio qui sotto:

Inaltreparole:ilserverdevetrasmetteredatidaun'APIatuttiiclientquandodevonoaggiornarel'interfacciautenteconleinformazionicheottienedalserver.

Ilproblema

Ilproblemaèsulclient.Conosceiclientquandoilserverinviaun'APIalclient?

Lamiaidea

Hoavutol'ideadirisolverequestoproblemaconunloopinfinitosuunthread(altrimentil'appsibloccheràovviamente).Ilproblemaoraèquandononsuccedenullasulserver,noncisonoAPIdiinvioaiclient.Maascoltanosempreilserverquandononc'ènientedafarepermoltotempo.Eccoalcunipseudocodice:

Cisonoideemiglioridellamia?

Michiedoseesisteun'altrasoluzionesicuraperfarelestessecose.Faròqualcosadisimileadaprirelaconnessioneelasciarecheilclientaspettisec'èqualcosadafaresenzausareuncicloinfinito,comepseudocodicequisotto.Seilclientvavia,laconnessionealserversichiude.

Puoi suggerirmi un suggerimento o uno pseudo codice come potrei fare questo?

P.S.: Realizzo le mie applicazioni con C #.

    
posta H. Pauwelyn 22.02.2016 - 15:25
fonte

1 risposta

5

Controlla SignalR. Permette connessioni web di lunga durata che ti permettono di inviare eventi da server a client.

Se stai creando un'app, potresti utilizzare Push per gli eventi?

Oppure potresti anche creare un semplice ciclo che controlli gli aggiornamenti. Un po 'come la tua idea, ma separa il controllo dal recupero dei dati per le prestazioni.

Un altro modo è usare un qualche tipo di socket invece del normale http. Poiché crei un'applicazione, non sei limitato alle tecniche web.

    
risposta data 22.02.2016 - 23:13
fonte

Leggi altre domande sui tag