Constrained Application Protocol: Difference between revisions

Content deleted Content added
Mkarts (talk | contribs)
replace wrongly moved active project
No edit summary
Line 41:
|}
 
=== CoAP Fixedfixed-Sizesize Headerheader ===
The first 4 bytes are mandatory in all CoAP datagrams, they constitute the fixed-size header.
 
These fields can be extracted from these 4 bytes in C via these macros:
<syntaxhighlight lang="c">
#define COAP_HEADER_VERSION(data) ( (0xC0 & (data)[0]) >> 6 )
#define COAP_HEADER_TYPE(data) ( (0x30 & (data)[0]) >> 4 )
Line 202 ⟶ 203:
| coap || Dart || RFC 7252|| Client || Blockwise Transfers, Observe, Multicast, Proxying (partial) || MIT || https://github.com/shamblett/coap
|-
| aiocoap || Python 3 || RFC 7252, RFC 7641, RFC 7959, RFC 8323, RFC 7967, RFC 8132, RFC 9176, RFC 8613, RFC 9528|| Client + Server || Blockwise Transfers, Observe (partial) || MIT || {{URL|https://pypi.python.org/pypi/aiocoap}}
|-
| Californium || Java || RFC 7252, RFC 7641, RFC 7959|| Client + Server || Observe, Blockwise Transfers, Multicast (since 2.x), DTLS (+ DTLS 1.2 Connection ID) || EPL+EDL || {{URL|https://www.eclipse.org/californium}} {{URL|https://github.com/eclipse/californium}}
|-
| CoAPSharp || C#, .NET || RFC 7252|| Client + Server || Core, Observe, Block, RD || MIT || {{URL|http://www.coapsharp.com https://github.com/FemtomaxInc/coapsharp}}
|-
| FreeCoAP || C || RFC 7252|| Client + Server + HTTP/CoAP Proxy ||Core, DTLS, Blockwise Transfers || BSD || {{URL|https://github.com/keith-cullen/FreeCoAP}}
|-
| Go-CoAP || [[Go (programming language)|Go]] || RFC 7252, RFC 8232, RFC 7641, RFC 7959|| Client + Server || Core, Observe, Blockwise, Multicast, TCP/TLS || Apache License 2.0 || {{URL|https://github.com/plgd-dev/go-coap}}
|-
| java-coap || Java || RFC 7252, RFC 7641, RFC 7959, RFC 8323|| Client + Server || || Apache License 2.0 || {{URL|https://github.com/PelionIoT/java-coap}}
|-
| libcoap || C || RFC 7252, RFC 7390, RFC 7641, RFC 7959, RFC 7967, RFC 8132, RFC 8323, RFC 8516, RFC 8613, RFC 8768, RFC 8974, RFC 9175, RFC 9177|| Client + Server ||Core, Observe, Multicast, Blockwise Transfers, Patch/Fetch, OSCORE, (D)TLS || BSD/GPL || https://github.com/obgm/libcoap
Line 220 ⟶ 221:
| colspan="3" |same support as libcoap
|MIT
|{{URL|https://github.com/anyc/libcoapy}}
|-
| lobaro-coap || C || RFC 7252|| Client + Server ||Observe, Blockwise Transfers || MIT || {{URL|http://www.lobaro.com/lobaro-coap}}
|-
| microCoAPy || MicroPython || RFC 7252|| Client + Server || Core || Apache License 2.0 || {{URL|https://github.com/insighio/microCoAPy}}
|-
| nanoCoAP || C || RFC 7252|| Client + Server || Core, Blockwise Transfers, DTLS || LGPL || {{URL|https://api.riot-os.org/group__net__nanocoap.html}}
|-
| node-coap || JavascriptJavaScript || RFC 7252,
RFC 7641, RFC 7959
| Client + Server || Core, Observe, Block || MIT || {{URL|https://github.com/mcollina/node-coap}}
|-
| Qt CoAP || C++ || RFC 7252|| Client || Core, Observe, Blockwise Transfers || GPL, Commercial || https://doc.qt.io/qt-6/qtcoap-index.html
|-
| coap-rs || Rust || RFC 7252|| Client + Server || Core, Multicast, Observe option, ''Too Many Requests'' Response Code || MIT || {{URL|https://github.com/Covertness/coap-rs}}
{{URL|https://docs.rs/coap/}}
|-
|}
Line 257 ⟶ 258:
| CoAP Shell || Java || RFC 7252|| Client || Observe, Blockwise Transfers, DTLS || Apache License 2.0 || https://github.com/tzolov/coap-shell
|-
| Copper || JavaScript (Browserbrowser Pluginplugin) || RFC 7252|| Client || Observe, Blockwise Transfers || 3-clause BSD || https://github.com/mkovatsc/Copper https://addons.mozilla.org/firefox/addon/copper-270430/{{Dead link|date=July 2019 |bot=InternetArchiveBot |fix-attempted=yes }}
|-
|}
Line 286 ⟶ 287:
| jCoAP || Java || RFC 7252|| Client + Server || Observe, Blockwise Transfers || Apache License 2.0 || https://code.google.com/p/jcoap/
|-
| LibNyoci || C || RFC 7252|| Client + Server || Core, Observe, Block, DTLS || MIT || https://github.com/darconeous/libnyoci
|-
| microcoap || C || RFC 7252|| Client + Server || || MIT || https://github.com/1248/microcoap
|-
| nCoap || Java || RFC 7252|| Client + Server || Observe, Blockwise Transfers, CoRE Link Format, [https://tools.ietf.org/html/draft-kleine-core-coap-endpoint-id-01 Endpoint-ID-Draft] || BSD || https://github.com/okleine/nCoAP