Sanet.Transport.SignalR.Server
0.5.0
dotnet add package Sanet.Transport.SignalR.Server --version 0.5.0
NuGet\Install-Package Sanet.Transport.SignalR.Server -Version 0.5.0
<PackageReference Include="Sanet.Transport.SignalR.Server" Version="0.5.0" />
<PackageVersion Include="Sanet.Transport.SignalR.Server" Version="0.5.0" />
<PackageReference Include="Sanet.Transport.SignalR.Server" />
paket add Sanet.Transport.SignalR.Server --version 0.5.0
#r "nuget: Sanet.Transport.SignalR.Server, 0.5.0"
#:package Sanet.Transport.SignalR.Server@0.5.0
#addin nuget:?package=Sanet.Transport.SignalR.Server&version=0.5.0
#tool nuget:?package=Sanet.Transport.SignalR.Server&version=0.5.0
Sanet.Transport.SignalR.Server
Provides the server-side components (SignalR Hub, Host Manager, Server Publisher) for the Sanet.Transport SignalR implementation. This package includes the necessary ASP.NET Core dependencies to host a SignalR hub.
Overview
This library contains the server infrastructure required to host a SignalR hub for Sanet.Transport. It uses Microsoft.NET.Sdk.Web and includes:
TransportHub: The core SignalR Hub.SignalRHostManager: Manages a self-contained SignalR host.SignalRServerPublisher: ImplementsITransportPublisherfor the server-side, broadcasting messages to connected clients.
Note: This package depends on Sanet.Transport.SignalR.Client for network discovery broadcasting functionality.
Features
- Host a self-contained SignalR Hub.
- Manage the SignalR host lifecycle.
- Broadcast
TransportMessageobjects to all connected clients. - Receive messages from clients.
- Integrates with network discovery (via
Sanet.Transport.SignalR.Client).
Installation
dotnet add package Sanet.Transport.SignalR.Server
Or via the Package Manager Console:
Install-Package Sanet.Transport.SignalR.Server
Usage
Server-side (Host)
// Create a SignalR host (server)
var hostManager = await SignalRTransportFactory.CreateHostAsync(port: 5000);
// Get the server-side publisher
ITransportPublisher serverPublisher = hostManager.Publisher;
// (Optional) Make the host discoverable using the discovery service from the Client package
// var discoveryService = new Sanet.Transport.SignalR.Client.Discovery.BroadcastDiscoveryService();
// discoveryService.BroadcastPresence(hostManager.HubUrl);
// Subscribe to messages from clients
serverPublisher.Subscribe(message => {
Console.WriteLine($"Server received: {message.CommandType}");
// Broadcast a response to all clients
serverPublisher.PublishMessage(new TransportMessage {
CommandType = "ServerResponse",
SourceId = Guid.NewGuid(),
Payload = "{\"server\": \"response\"}",
Timestamp = DateTime.UtcNow
});
});
License
This project is licensed under the MIT License - see the LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Sanet.Transport (>= 1.0.2)
- Sanet.Transport.SignalR.Client (>= 0.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.5.0 | 1,620 | 4/7/2025 |