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
Real-time Communications with SignalR
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shravan Kumar Kasagoni
May 19, 2015
Technology
53
0
Share
Real-time Communications with SignalR
Shravan Kumar Kasagoni
May 19, 2015
More Decks by Shravan Kumar Kasagoni
See All by Shravan Kumar Kasagoni
Functional Programming in JavaScript
shravan
0
39
ASP.NET Core – Deep Dive on Building a Real Website
shravan
0
43
Cross-Platform Mobile Development using Visual Studio and Xamarin
shravan
1
42
Angular 2 with TypeScript
shravan
1
160
Building Next Generation Web Apps and Services using ASP.NET 5
shravan
0
91
Writing Application-Scale JavaScript:TypeScript
shravan
0
59
Running, improving and maintaining a site in the real world
shravan
0
39
Open Web Interface for .NET
shravan
0
150
Glance at Visual Studio 2013 ASP.NET and Web Tools 2013
shravan
0
80
Other Decks in Technology
See All in Technology
Rebirth of Software Craftsmanship in the AI Era
lemiorhan
PRO
4
1.9k
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
4
950
No Types Needed, Just Callable Method Check
dak2
1
190
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
130
AI時代 に増える データ活用先
takahal
0
170
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
1
260
「責任あるAIエージェント」こそ自社で開発しよう!
minorun365
9
1.7k
AI時代のガードレールとしてのAPIガバナンス
nagix
0
210
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
3
1.3k
扱える不確実性を増やしていく - スタートアップEMが考える「任せ方」
kadoppe
0
280
QGISプラグイン CMChangeDetector
naokimuroki
1
340
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
220
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
520
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
740
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
370
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
420
A Soul's Torment
seathinner
6
2.7k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
150
Into the Great Unknown - MozCon
thekraken
40
2.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
For a Future-Friendly Web
brad_frost
183
10k
Transcript
Real-time Communications with SignalR Shravan Kumar Kasagoni
Agenda 1) Introduction to the real-time web 2) ASP .NET
SignalR 3) Building a real-time
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.
Without real-time
With real-time
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
How to do real-time in web?
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 working 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
Basically…
Introducing SignalR • Abstraction over transports • Events instead of
task/async • Connection management • Broadcast or target specific client
What does SignalR do? • Client to Server persistent connection
over HTTP • Easily build multi-user, real-time web applications • Auto-negotiates transport
SignalR Fallback Long Polling Forever Frames Server Sent Events Web
Sockets
What does SignalR do? • Allows server-to-client push and RPC
• Built async to scale to 1000’s of connections • Scale out with Service Bus, SQL Server & Redis • Open Source on GitHub
Backplane SignalR Backplanes Load balancing via a common transport mechanism
Thank You