patagonaa / CoAP.Net

Constrained Applciaiton Protocol (CoAP) [RFC7252] for .Net Standard

Home Page:https://nzsmartie.co.nz/CoAP.Net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CoAP.Net NuGet license

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 requests
    • CoapHandler - Template request handler to be used by CoapServer
      • CoapResourceHandler - Example handler that specifically serves CoapResources
  • Support for DTLS over UDP

Todo

Examples

Starts a CoAP server listening on all network interfaces and listens for multicast requests.

Sends a GET /hello request to localhost and prints the response resource.

Note: Run SimpleServer and then run SimpleClient to see both in action

Will send a multicast GET /.well-known/core request every minute and prints responses received.

About

Constrained Applciaiton Protocol (CoAP) [RFC7252] for .Net Standard

https://nzsmartie.co.nz/CoAP.Net/

License:Apache License 2.0


Languages

Language:C# 100.0%