Skip to content

Commit

Permalink
added title image and diagrams to chapter 16
Browse files Browse the repository at this point in the history
  • Loading branch information
cwoodruff committed Dec 14, 2024
1 parent d62076b commit 9152ba6
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 0 deletions.
Binary file added Chapter16/Images/Chap16-SignalR.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions Chapter16/chapter16.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ visibility: hidden
---
# 16

![](./Images/Chap16-SignalR.png)

# Using SignalR

In the world of modern network programming, the need for real-time communication has become a cornerstone of many applications. From live chat systems to collaborative editing tools, users increasingly expect updates and interactions to occur instantly, without the need for constant page refreshes or clunky polling mechanisms. **SignalR**, a powerful library in .NET 8, simplifies the complexities of real-time communication, enabling developers to create seamless and responsive user experiences. By bridging the gap between server and client with a dynamic, bidirectional communication channel, SignalR not only offers flexibility and performance across various transport protocols but also puts the power of a great user experience in your hands.
Expand All @@ -34,6 +36,10 @@ SignalR addresses this problem with a developer-friendly abstraction over WebSoc

SignalR isn't just another library in the vast .NET ecosystem—it's a masterstroke of engineering designed to simplify real-time communication while maximizing flexibility and performance. At its heart, SignalR provides an abstraction over multiple transport protocols, including **WebSockets**, **Server-Sent Events (SSE)**, and **Long Polling**. This intelligent fallback mechanism ensures that your applications deliver a seamless real-time experience, regardless of the client's environment or browser capabilities. Whether you're connecting users on modern browsers with WebSockets or supporting legacy systems with Long Polling, SignalR has you covered.

![](Images/SignalR-Architecture-Overview.png)

<figcaption align = "center"><b>SignalR Architecture Overview</b></figcaption>

One of SignalR's standout features is its ability to handle **persistent connections**, a key differentiator from traditional HTTP request-response models. These persistent connections enable bidirectional communication, allowing servers to push client updates without waiting for a request. This architecture unlocks robust use cases such as live notifications, collaborative document editing, and dynamic dashboards. SignalR also supports **connection grouping**, enabling granular control over who receives updates, whether broadcasting to all connected clients or targeting specific users or groups.

Behind the scenes, SignalR integrates tightly with the .NET platform, offering out-of-the-box scalability and compatibility with Azure SignalR Service for handling high-traffic loads. Its use of **Hubs** as a central communication point simplifies development, allowing you to focus on defining the methods and data structures that power your real-time interactions. Whether you're new to real-time development or an experienced developer seeking a robust solution, SignalR's combination of features and thoughtful architecture makes it a shining example of how .NET 8 continues to push boundaries in network programming.
Expand Down

0 comments on commit 9152ba6

Please sign in to comment.