Tecnologia come SignalR ma lato client [chiuso]

-7

Vorrei programmare un software che utilizzi pesantemente lo sviluppo lato client (JavaScript) e voglio comunicare con il server. C'è un modo simile a SignalR in cui posso continuare a comunicare con il server per ottenere eventuali nuovi aggiornamenti?

Qualcosa di simile a LinkedIn dove, quando c'è un nuovo aggiornamento, ti mostrerà che sono disponibili 1 o 2 aggiornamenti, quindi puoi fare clic per vederli.

So che posso usare setTimeOut e continuare a controllare con il server, ma è nel modo giusto?

    
posta Natalie 01.01.2016 - 06:13
fonte

2 risposte

3

Va bene, prima le cose. SignalR non è una tecnologia solo lato server. Vive anche sul cliente. Questo è il suo punto di forza. Estrae il pesante sollevamento di una comunicazione dannatamente vicina a tempo reale tra client e server. Non ero sicuro che fosse chiaro dato il titolo della domanda.

A parte ciò, se sei interessato a come funziona SignalR, allora sì, uno dei suoi approcci è quello di inviare una richiesta occasionale al server per vedere se qualcosa è cambiato. Si chiama ajax lungo polling . Non è la prima strategia di SignalR perché, beh, è un po 'puzza. Pensa a tutte le cose che potrebbero andare storte. Per non parlare del fatto che non è un aggiornamento bidirezionale in tempo reale poiché il server non può avviare una modifica. SignalR preferisce usare Websockets se sono disponibili.

Lo chiamano una strategia di fallback. SignalR prova una tecnologia HTML5 come WebSockets. Se ciò non è disponibile, ricade su uno dei vecchi trucchi Cometa . Abbastanza intelligente, davvero.

SignalR non è sicuramente l'unico gioco in città. Altre opzioni spaziano da progetti interessanti come Meteor (Meteor è molto più della comunicazione client / server in tempo reale, è piuttosto enorme) a più progetti mirati come socket.io . Tenere presente che poiché la comunicazione bidirezionale richiede sia un client che un server, ogni progetto utilizza una tecnologia server diversa. Dal momento che parli di SignalR, ho intenzione di indovinare che stai usando (o stai considerando) una tecnologia Microsoft. In tal caso, hai meno opzioni.

Se quello che stai veramente chiedendo è come implementare una comunicazione client / server bidirezionale su misura, allora inizia con WebSockets (tutorial) . Se hai molti utenti, probabilmente scoprirai che alcuni di loro stanno utilizzando una tecnologia meno recente che non supporta WebSockets (o forse stai usando una tecnologia server obsoleta che non la supporta). In tal caso, dai un'occhiata a Comet (tutorial) . Nel momento in cui ottieni tutto ciò (o immagina il tempo necessario), SignalR potrebbe sembrarti migliore.

    
risposta data 01.01.2016 - 08:23
fonte
0

Quello che stai cercando è probabilmente Websockets . Ciò ti consentirà di mantenere una connessione con il server e di inviare & ricevere dati. È molto facile da implementare dal lato client.

    
risposta data 01.01.2016 - 06:58
fonte

Leggi altre domande sui tag