Hsu.Automotive.Uds.Server
2026.7.14-preview.134711
dotnet add package Hsu.Automotive.Uds.Server --version 2026.7.14-preview.134711
NuGet\Install-Package Hsu.Automotive.Uds.Server -Version 2026.7.14-preview.134711
<PackageReference Include="Hsu.Automotive.Uds.Server" Version="2026.7.14-preview.134711" />
<PackageVersion Include="Hsu.Automotive.Uds.Server" Version="2026.7.14-preview.134711" />
<PackageReference Include="Hsu.Automotive.Uds.Server" />
paket add Hsu.Automotive.Uds.Server --version 2026.7.14-preview.134711
#r "nuget: Hsu.Automotive.Uds.Server, 2026.7.14-preview.134711"
#:package Hsu.Automotive.Uds.Server@2026.7.14-preview.134711
#addin nuget:?package=Hsu.Automotive.Uds.Server&version=2026.7.14-preview.134711&prerelease
#tool nuget:?package=Hsu.Automotive.Uds.Server&version=2026.7.14-preview.134711&prerelease
Hsu.Automotive.Uds.Server
UDS server / ECU-side runtime package for .NET.
This package provides the ECU-side runtime for ISO 14229 request handling. It is intended for simulators, benches, validation environments, and custom ECU-side hosts that need to receive UDS requests over a transport channel and dispatch them to service handlers.
Package Information
- Package ID:
Hsu.Automotive.Uds.Server - Package scope: UDS server runtime and ECU-side hosting
- Depends on:
Hsu.Automotive.Uds.Core - Recommended for: ECU simulators, mock servers, HIL benches, regression environments, custom diagnostic services
What This Package Provides
This package centers around UdsServer, which:
- receives UDS requests from an
ITransportChannel - dispatches requests to registered
IServiceHandlerimplementations - maintains per-connection diagnostic state through
UdsServerContext - handles built-in session-related behavior such as S3 timeout reversion
Representative types include:
UdsServerIUdsServerIServiceHandlerUdsServerContextIsoTpEcuChannelDoIpServerChannel
Supported Capabilities
- serial request processing per connection
- pluggable
IServiceHandlermodel - per-connection session and security context
- S3 timeout with automatic return to default session
- ISO-TP ECU-side transport support
- DoIP server-side transport support
Quick Start
using Hsu.Automotive.Uds.Protocol;
using Hsu.Automotive.Uds.Server;
await using var server = new UdsServer(channel, new UdsServerOptions
{
S3Timeout = TimeSpan.FromSeconds(5),
});
server.RegisterHandler(new VinHandler());
await server.CompletedTask;
Minimal Service Handler Example
using Hsu.Automotive.Uds.Protocol;
using Hsu.Automotive.Uds.Server;
public sealed class VinHandler : IServiceHandler
{
public byte ServiceId => 0x22;
public Task<UdsResponse> HandleAsync(
UdsRequest request,
UdsServerContext context,
CancellationToken cancellationToken = default)
{
if (request.Data.Length != 2 || request.Data.Span[0] != 0xF1 || request.Data.Span[1] != 0x90)
return Task.FromResult(UdsResponse.Negative(NegativeResponseCode.RequestOutOfRange));
byte[] vin = "TESTVIN123456789"u8.ToArray();
return Task.FromResult(UdsResponse.Positive(vin));
}
}
Typical Use Cases
- ECU simulation during client development
- system integration testing
- bench validation and automated regression
- educational or exploratory service-host implementations
Session Management Notes
UdsServer keeps per-connection state in UdsServerContext, including:
- current diagnostic session
- current security level
- pending security seed exchange state
- last activity timestamp used for S3 timeout evaluation
When the configured S3 timeout expires without diagnostic activity, the server reverts the connection back to the default session and clears security state.
Install
dotnet add package Hsu.Automotive.Uds.Server
Package Relationships
Hsu.Automotive.Uds.Coreprovides the shared protocol and transport infrastructure used by this package.Hsu.Automotive.Uds.Clientis the tester-side counterpart used to drive requests into a server or simulator.Hsu.Automotive.Udsbundles the full integrated stack when you prefer one primary package.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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. net9.0 was computed. 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Hsu.Automotive.Uds.Core (>= 2026.7.14-preview.134711)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.4)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
- System.Memory (>= 4.5.5)
- System.Threading.Channels (>= 9.0.4)
- System.Threading.Tasks.Extensions (>= 4.5.4)
-
net10.0
- Hsu.Automotive.Uds.Core (>= 2026.7.14-preview.134711)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
-
net6.0
- Hsu.Automotive.Uds.Core (>= 2026.7.14-preview.134711)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
-
net8.0
- Hsu.Automotive.Uds.Core (>= 2026.7.14-preview.134711)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Hsu.Automotive.Uds.Server:
| Package | Downloads |
|---|---|
|
Hsu.Automotive.Uds
Compatibility meta-package for the Hsu.Automotive.Uds ISO 14229-1 UDS stack. References Hsu.Automotive.Uds.Client and Hsu.Automotive.Uds.Server. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.7.14-preview.134711 | 92 | 7/14/2026 |
| 2026.7.8-preview.124140 | 82 | 7/8/2026 |
| 2026.5.27-preview.124655 | 96 | 5/27/2026 |