Real-time Communication using SignalR and cloud
Upcoming SlideShare
Loading in...5
×
 

Real-time Communication using SignalR and cloud

on

  • 293 views

This session will explore how SignalR can make our life easier to create real-time application that works on any kind of device or browser.

This session will explore how SignalR can make our life easier to create real-time application that works on any kind of device or browser.

Statistics

Views

Total Views
293
Views on SlideShare
293
Embed Views
0

Actions

Likes
0
Downloads
12
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Real-time Communication using SignalR and cloud Real-time Communication using SignalR and cloud Presentation Transcript

  • Real-time fluent communication using SignalR and Cloud Radu Vunvulea vunvulear@gmail.com http://vunvulearadu.blogspot.com
  • { “name” : “Radu Vunvulea, “company” : “iQuest”, “userType” : “enthusiastic” “technologies” : [ “.NET”, “JS”, “Azure”, “Web”, “Mobile”, “SL” ], “blog” : “vunvulearadu.blogspot.com”, “email” : ”vunvulear@gmail.com”, “socialMedia” : { “twitter” : “@RaduVunvulea”, “fb” : “radu.vunvulea” } } Who am I?
  • Agenda • What? • When? • Where? • How? • Why?
  • •Static Web • HTML & Request/Response •Ajax • jQuery & Prototype •Real Time Web • Real Time Libraries & Web Socket
  • Real Time Interaction • Chat • Notifications • Weather • Stock market • Auction • Games • Monitoring • Dashboard • Document editing
  • • WebSocket • Forever Frame • Server Sent Events • Pooling • SPDY What we can use?
  • What we can use? • Commet • Pusher • SockJS • SocketIO • Faye • Now.js • Sse • Django-sse • Cramp
  • What we can use? • Commet • Pusher • SockJS • SocketIO • Faye • Now.js • Sse • Django-sse • Cramp SignalR
  • What is SignalR? • Async library for .NET to help build real-time, multiuser interactive web applications • Bidirectional communication • Open Source • Adopted by Microsoft • GitHub
  • When we can use it? • Server • Windows (.NET) • Mono • Clients • Chrome • Firefox • Safari • IE • Opera • Android browser • IoS • Windows Desktop • Silverlight • Windows Store • Windows Phone • and old browsers
  • Connection methods • WebSocket • Server Side Events • Forever Frame • Ajax long pooling
  • Persistent Connection • Similar with WebSocket • Persistent • Events • Connect • Disconnect • Receive • Error • Methods • Send • Broadcast
  • Hubs • Over Connections • Share variables • Calls between client and server • Serialization • Capture connect/disconnect • Everything works by magic
  • Hubs • When you have multiple hubs • Same connection is shared by a client • Groups are maintain separately for each hub • One proxy JS file for all hubs • Async support • OnConnected • OnDisconnected • OnReconnected • proxy.State (JS) & Client.Caller (C#)
  • Hubs vs Persistent Connections Hubs • Remote invocation Persistent Connections • Message format needs to be specified • Messaging and dispatching model • An existing app is ported to SignalR
  • Security • Based on Connection Token (Connection Id + Username) • Unique • Managed by server • Encrypted with a digital signature • Connection Id • Exist until the end of connection • Username • Only for authenticated users • Passed between client and server for each request
  • CSRF and SignalR • Disable cross domain requests • Verify connection token • Put connection token query string • The connection token is not persisted on the client
  • Performance • Single Box • Over 450.000 messages per second • 15.000 – 20.000 connection (hardware limitations – ports) • Web farm • You have “NO” limit • You need to synchronize each node from the farm
  • SignalR Farm • Backplanes: • Windows Azure Service Bus • Redis • SQLServer •  Server broadcast •  High-frequency realtime •  Client to client
  • Conclusion • SignalR • Client to Server • Server to Client • Broadcasting • Real Time application • Scalable • Low latency
  • Question Answers
  • THE END Radu Vunvulea vunvulear@gmail.com http://vunvulearadu.blogspot.com