Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Real Time Client-ServerCommunication on Web         Nicolò Carandini         nicolo.carandini@domusdotnet.org         blog...
Se fai una richiesta
Avrai una risposta!
Il protocollo HTTP    • La Request è attivata dal Client    • La Response è restituita dal Server
Flusso dei dati    • Esempio: il Client richiede i dati al Server
Invertire i ruoli     • E se è il Server a dover chiamare il Client?       Possibili soluzioni:        – Polling        – ...
Polling    1. Il Client chiede al Server se ci sono novità    2. Il Server risponde alla richiesta    3. Il Client aspetta...
Long Polling    1. Il Client fa la richiesta    2. Il Server risponde quando ha novità    3. Appena riceve risposta, il cl...
HTML5 - WebSockets   • Fanno parte delle nuove specifiche di HTML5   • Estendono il protocollo HTTP fornendo il supporto a...
Problemi?   • Polling:     Se l’intervallo è breve, troppe richieste inutili     Se l’intervallo è lungo, le informazioni ...
SignalR è la soluzione!     • E’ un insieme completo di librerie Client – Server       sviluppate in Javascript sul Client...
Punti di forza    • Fornisce una connessione client/server persistente      utilizzando il miglior trasporto disponibile  ...
SignalR packages    •   SignalR.Server (Server side components)    •   SignalR.Js (Javascript client)    •   SignalR.WebSo...
Broadcast demo                 Demo
Riferimenti    • Website: http://signalr.net    • GitHub: https://github.com/SignalR    • Twitter: @davidfowl
Question Time
Un grazie agli sponsor...
Upcoming SlideShare
Loading in …5
×

Real time client server communication on web

1,082 views

Published on

Le applicazioni web utilizzano il protocollo di comunicazione HTTP che è basato sul meccanismo request/response. Il Client fa una richiesta ad un server che fornisce una risposta. Ma ci sono scenari dove questo non è sufficiente ed è necessario invertire i ruoli. La libreria SignalR consente di ottenere tutto ciò e in questa sessione vi mostreremo com'è facile realizzare applicazioni web real-time col minimo sforzo e il massimo risultato.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Real time client server communication on web

  1. 1. Real Time Client-ServerCommunication on Web Nicolò Carandini nicolo.carandini@domusdotnet.org blogs.ugidotnet.org/Nick60 Twitter: TPCWare
  2. 2. Se fai una richiesta
  3. 3. Avrai una risposta!
  4. 4. Il protocollo HTTP • La Request è attivata dal Client • La Response è restituita dal Server
  5. 5. Flusso dei dati • Esempio: il Client richiede i dati al Server
  6. 6. Invertire i ruoli • E se è il Server a dover chiamare il Client? Possibili soluzioni: – Polling – Long Polling – HTML5/WebSocket
  7. 7. Polling 1. Il Client chiede al Server se ci sono novità 2. Il Server risponde alla richiesta 3. Il Client aspetta un lasso di tempo e poi fa una nuova richiesta
  8. 8. Long Polling 1. Il Client fa la richiesta 2. Il Server risponde quando ha novità 3. Appena riceve risposta, il client fa una nuova richiesta
  9. 9. HTML5 - WebSockets • Fanno parte delle nuove specifiche di HTML5 • Estendono il protocollo HTTP fornendo il supporto alle raw sockets • Consentono la comunicazione full-duplex • Traversano gli HTTP proxies
  10. 10. Problemi? • Polling: Se l’intervallo è breve, troppe richieste inutili Se l’intervallo è lungo, le informazioni arrivano in ritardo • Long polling: Il Server deve gestire le richieste in modo asincrono altrimenti va in saturazione e non accetta altre richieste • HTML5 – WebSocket: Protocollo di basso livello, suscettibile di cambiamenti • In generale: Applicazioni real-time o sono intrinsecamente inefficienti o richiedono la scrittura di molto codice
  11. 11. SignalR è la soluzione! • E’ un insieme completo di librerie Client – Server sviluppate in Javascript sul Client e ASP.NET nel Server per creare applicazioni web interattive tra più utenti in real-time • E’ una libreria Open Source sviluppata da Microsoft Program Manager at Microsoft on the Software Developer on the ASP.NET team, Visual Studio Web Tooling team. working on NuGet, SignalR and other cool things. • Licenza MIT • Si trova su GitHub e si installa con NuGet • Richiede C# , .NET4+ e jQuery
  12. 12. Punti di forza • Fornisce una connessione client/server persistente utilizzando il miglior trasporto disponibile • Offre un unico modello di programmazione indipendente dal tipo di trasporto • Semplice da configurare e da usare
  13. 13. SignalR packages • SignalR.Server (Server side components) • SignalR.Js (Javascript client) • SignalR.WebSockets (WebSocket transport) • SignalR.Hosting.AspNet (ASP.NET host) • SignalR.Client.Silverlight (Silverlight client) • SignalR.Client.WP7 (Windows Phone client) • SignalR.Client (.NET client) • …e altri ancora
  14. 14. Broadcast demo Demo
  15. 15. Riferimenti • Website: http://signalr.net • GitHub: https://github.com/SignalR • Twitter: @davidfowl
  16. 16. Question Time
  17. 17. Un grazie agli sponsor...

×