patagona.CoAPNet.Dtls
0.16.4
dotnet add package patagona.CoAPNet.Dtls --version 0.16.4
NuGet\Install-Package patagona.CoAPNet.Dtls -Version 0.16.4
<PackageReference Include="patagona.CoAPNet.Dtls" Version="0.16.4" />
paket add patagona.CoAPNet.Dtls --version 0.16.4
#r "nuget: patagona.CoAPNet.Dtls, 0.16.4"
// Install patagona.CoAPNet.Dtls as a Cake Addin #addin nuget:?package=patagona.CoAPNet.Dtls&version=0.16.4 // Install patagona.CoAPNet.Dtls as a Cake Tool #tool nuget:?package=patagona.CoAPNet.Dtls&version=0.16.4
CoAP.Net
About
This is a fork of NZSmartie/CoAP.Net which adds DTLS client/server support and other bugfixes/improvements/features.
This library is a transport agnostic implementation of the Constraint Application Protocol (CoAP - RFC 7252) for .NET Standard.
Since CoAP is designed for unreliable transport layers. (6LoWPAN, UDP, etc...) it made sense to not worry about the transport implementations and allow the application to provide their own.
If you're after a UDP transport example, see CoAPNet.Udp
Changelog
All relevant changes are logged in Changelog.md
Status
- Full support for RFC 7959 - Block-Wise Transfers in the Constrained Application Protocol (CoAP)
- Support for sending and receiving Confirmable (CON) and Non-Confirmable (NON) messagees.
- Retransmit confirmable messages, throwing an exception on failure
- Rejects malformed messages with appropriate error code.
- Ignores repeated messages within a set
TimeSpan
- Support for sending and receiving multicast messages.
CoapServer
- Simple server for binding to local transports and processing requestsCoapHandler
- Template request handler to be used by CoapServerCoapResourceHandler
- Example handler that specifically servesCoapResource
s
- Support for DTLS over UDP
Todo
- Create unit tests to cover as much of RFC7252 as possible.
- Create more examples
- Await message response for non-confirmable (NON) messages
- Support for RFC 7641 - Observing Resources in the Constrained Application Protocol (CoAP)
- Support for RFC 7390 - Group Communication for the Constrained Application Protocol (CoAP)
Examples
SimpleServer
Starts a CoAP server listening on all network interfaces and listens for multicast requests.
SimpleClient
Sends a GET /hello
request to localhost and prints the response resource.
Note: Run SimpleServer and then run SimpleClient to see both in action
Multicast Discovery
Will send a multicast GET /.well-known/core
request every minute and prints responses received.
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 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. |
.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
- BouncyCastle.Cryptography (>= 2.2.0)
- Microsoft.Extensions.Options (>= 6.0.0)
- patagona.CoAPNet (>= 0.16.4)
- patagona.CoAPNet.Server (>= 0.16.4)
-
net6.0
- BouncyCastle.Cryptography (>= 2.2.0)
- Microsoft.Extensions.Options (>= 6.0.0)
- patagona.CoAPNet (>= 0.16.4)
- patagona.CoAPNet.Server (>= 0.16.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.