Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Building Realtime Web Applications With ASP.NET SignalR
Search
Shravan Kumar Kasagoni
June 01, 2013
Technology
0
120
Building Realtime Web Applications With ASP.NET SignalR
Shravan Kumar Kasagoni
June 01, 2013
Tweet
Share
More Decks by Shravan Kumar Kasagoni
See All by Shravan Kumar Kasagoni
Functional Programming in JavaScript
shravan
0
32
ASP.NET Core – Deep Dive on Building a Real Website
shravan
0
36
Cross-Platform Mobile Development using Visual Studio and Xamarin
shravan
1
37
Angular 2 with TypeScript
shravan
1
150
Building Next Generation Web Apps and Services using ASP.NET 5
shravan
0
64
Writing Application-Scale JavaScript:TypeScript
shravan
0
52
Running, improving and maintaining a site in the real world
shravan
0
31
Real-time Communications with SignalR
shravan
0
44
Open Web Interface for .NET
shravan
0
130
Other Decks in Technology
See All in Technology
成長をサポートするピープルマネジメントのやり方
sioncojp
8
1.1k
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
Building Dashboards as a Hobby
egmc
0
370
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
35k
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
270
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
150
Cloud Service Mesh に触れ合う
phaya72
1
180
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
330
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
360
Next.js に疲れた私は Vue3 に癒やされた
akagire
0
130
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
210
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
7
1.3k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Side Projects
sachag
451
41k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
The Cult of Friendly URLs
andyhume
74
5.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
A better future with KSS
kneath
231
16k
What's in a price? How to price your products and services
michaelherold
238
11k
Designing for Performance
lara
602
67k
Transcript
None
Your Presenter Shravan Kumar Kasagoni Software Engineer @ Thomson Reuters
Microsoft MVP – ASP .NET / IIS | MCP Microsoft User Group Hyderabad http://theshravan.net @techieshravan
Agenda Introduction to real-time apps What is SignalR? Demos SignalR
Components Scaleout SignalR
Real-time Application? Real-time functionality is the ability to have server
code push content to connected clients instantly as it becomes available, rather than having the server wait for a client to request new data.
Why Real-time? Users want the latest info, NOW!
Show Me Some Examples Twitter, Facebook, Mail - live
searches/updates Stock streamers Auctions Interactive games Live Scores Collaborative apps (google docs, office web apps) Live user analytics (live graphs)
How to build real-time web apps?
HTTP is an old beast… Never designed for real-time communications
Web is all about request-response Web is stateless
None
Periodic polling Poll from time to time using Ajax
Delay in communication due to polling interval Wastes bandwidth & latency Server Client Polling interval
Long polling Poll but doesn’t respond until there's data
Poll again after data received or after the connection times out Consumes server & threads & connection resources Server Client
Forever Frame Server tells client that response is chucked
Client keeps connection open until server closes it Server pushed data to the client followed by \0 Consumes server threads Server Client
HTML5 Web sockets Extension to HTTP Provides raw
sockets over HTTP Full-duplex Traverses proxies It's still a draft Not every proxy server supports it Not every web server supports it Not every browser supports it They are raw sockets!
too many options
None
None
What is SignalR? An open-source series of libraries that provide
an abstraction around persistent HTTP connections SignalR makes real-time HTTP so easy it seems like magic that it works [In English, please]
SignalR on Old Servers or Clients
SignalR on New Servers and Clients
Basically…
What does SignalR do? Client to Server Persistent connection
over HTTP Easily build multi-user, real-time web applications Auto-negotiates transport
None
SignalR Fallback Long Polling Forever Frame Server Sent Events Web
Sockets
None
None
http://shootr.signalr.net http://firework.cloudapp.net
None
CLIENTS BACKPLANES HOSTS
None
Three backplanes Windows Azure Service Bus SQL Server
Redis
Backplane Load balancing via a common transport mechanism
References http://www.asp.net/signalr/ http://signalr.net/ https://github.com/SignalR/SignalR/wiki
Keep in touch http://theshravan.net @techieshravan
[email protected]
None