Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Local Touch – Global Reach
Intro to SignalR + Awesome Mobile Possibilities!
Solutions Lead | MSFT Mobility
8425 Pulsar Place, Suite 300 | Columbus, OH 43240.
Why do we need real-time?
Stock Ticker/Live Auctions
Turn-by-Turn or Shooter Games
And obviously, Chat
HTTP – purely Request/Response protocol
Internet – stateless; servers don’t call your app back
Consumption model .. But we’ve learnt tricks
Periodic/Ajax Polling – not real-time, bandwidth misuse
Existing Technologies ..
Contd. plugins like SL/Flash – to access sockets
Native Web Sockets (Magic Unicorn world) – but low level & support flaky
Long Polling – server does not respond unless X happens,
client polls after data receive or time-out
Forever Frame (execute script blocks from server in iFrame)
Server sent Events (Push or Stream from server)
An async, persistent connection/signalling library for .NET over HTTP ... aids in
building real time, multi-user connected applications.
Persistent client-server connection over best transport .. Abstracts away the
From ASP.NET team-members (Damian Edwards & David Fowler) ..
Not officially MSFT product, but OSS Boom!
SignalR is broken up into a few packages on NuGet:
SignalR - Package for SignalR.Server and SignalR.Js
SignalR.Server - Server components needed for SignalR endpoints
SignalR.Client - .NET client for SignalR
SignalR.WP7, SignalR.WinRT, SignalR.Silverlight – For the cool folks
SignalR.WebSockets - WebSocket Transport for SignalR
Live Demos & Walkthrough
Client calls server; Server calls client; seamlessly – Whoa!
No polling, at least in our code
Low level – PersistentConnection
Abstraction – Hub
easier to use
like spokes on a wheel, broadcasting
Server maintains Clients .. Broadcast to all, group or individual clients
Built-in Retry logic if transport fails
Supports scaling out to web farms - backplane support through Service
Bus or Redis (in memory DB) to pump messages between multiple
Where does this fit?
Other technologies have solved this problem
Socket.IO is a client-side Jscript library that talks to node.js
Nowjs supports namespace sync between client-server
Primary SignalR advantages
→ Simplicity & ease of use
→ Works natively in .NET
→ Works out of browser
→ Supports Web Sockets for best transport
[ASP.NET 4.5/IIS 8 on Win8 only]
WebSocket is a web technology providing for multiplexing bi-directional, full-duplex
communications channels over a single TCP connection. Still being standardized.
→ Works on other platforms, specially mobile
SignalR Client for iOS
SignalR Client for Mono
Local Touch – Global Reach
Thank you !!
Be the first to like this
Number of Embeds
You have now unlocked unlimited access to 20M+ documents!
Learn faster and smarter from top experts
Download to take your learnings offline and on the go
You also get free access to Scribd!
Instant access to millions of ebooks, audiobooks, magazines, podcasts and more.
Read and listen offline with any device.
Free access to premium services like Tuneln, Mubi and more.