Codabix.Web.SignalR
1.0.0-preview2-211028
See the version list below for details.
dotnet add package Codabix.Web.SignalR --version 1.0.0-preview2-211028
NuGet\Install-Package Codabix.Web.SignalR -Version 1.0.0-preview2-211028
<PackageReference Include="Codabix.Web.SignalR" Version="1.0.0-preview2-211028" />
paket add Codabix.Web.SignalR --version 1.0.0-preview2-211028
#r "nuget: Codabix.Web.SignalR, 1.0.0-preview2-211028"
// Install Codabix.Web.SignalR as a Cake Addin
#addin nuget:?package=Codabix.Web.SignalR&version=1.0.0-preview2-211028&prerelease
// Install Codabix.Web.SignalR as a Cake Tool
#tool nuget:?package=Codabix.Web.SignalR&version=1.0.0-preview2-211028&prerelease
Real-time communication framework for .NET using SignalR and the industrial IoT Middleware Codabix as backend. Using Codabix any IIoT Entity (PLCs, DBs, Files, Sockets, Ports, IOs ...) can be connected to each other just using Nodes.
This package provides the API required to implement custom client applications using SignalR on top of WebSocket as the transport layer to connect to the communication data bridge for things (Codabix).
Features:
- Authentication using JSON Web Token
- Create, Read, Update & Delete IIoT Entities
- Setup new connection channels
- Configure symbols, files, tables, ...
- Subscribe change notifications
- Read & Write Values of IIoT Entities
- Directly from the Web to a device, file, table, ...
- Using custom Human Machine Interfaces (HMI)
- Visualize processes using historical data
The whole framework is provided for free and can be used for commerical and non-commerical application development.
Getting Started
At first you need an installed and running Codabix. Just go to https://www.codabix.com/en/downloads to get a latest evaluation version for free and without registration.
The most essential snippet to dig in:
using Codabix.Web.SignalR;
...
var client = new CodabixClient("http://localhost:8181", "username", "password");
await client.ConnectAsync();
// Your code to interact with Codabix.
Let's Read a Node
var response = await client.ReadNodeValueAsync("/Nodes/TestValue");
Let's Write a Node
var response = await client.WriteNodeValueAsync("/Nodes/TestValue", "Hello World!");
Let's Subscribe to a Node's value
var parameters = new NodeValueSubscriptionParameters {
Nodes = new CodabixNodeQueryIdentifier[] { "/Nodes/MyNode" }
};
var channel = await client.SubscribeValueChangesAsync(parameters);
while (await channel.WaitToReadAsync())
{
while (channel.TryRead(out var eventArgs))
{
Console.WriteLine($"New value: {eventArgs.NewValue.Value}");
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net5.0
- Microsoft.AspNetCore.SignalR.Client (>= 5.0.11)
- Microsoft.Management.Infrastructure (>= 2.0.0)
- Microsoft.Win32.Registry (>= 5.0.0)
- Newtonsoft.Json (>= 13.0.1)
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 |
---|---|---|
1.0.0-preview9-240322 | 45 | 3/22/2024 |
1.0.0-preview8-240306 | 49 | 3/6/2024 |
1.0.0-preview7-220822 | 199 | 8/22/2022 |
1.0.0-preview6-220706 | 136 | 7/6/2022 |
1.0.0-preview5-220215 | 285 | 2/15/2022 |
1.0.0-preview2-211028 | 218 | 10/28/2021 |
1.0.0-preview1-210921 | 164 | 9/21/2021 |
• add automatic reconnect when connection is lost
• introduce new properties:
• `State` indicates the client's state
• `ConnectTimeout` is used as timeout for connecting and reconnecting
• `ReconnectDelay` defines the delay between reconnect attempts
• `KeepAliveInterval` represents the time between ping messages sent to the server