The Qt CoAP module provides classes and functions to make CoAP programming
simple and portable.

Using the Module
^^^^^^^^^^^^^^^^

To include the definitions of modules classes, use the following
directive:

::

    import PySide6.QtCoap

Constrained Application Protocol `CoAP <https://coap.technology>`_
is a machine-to-machine (M2M) web
transfer protocol for use with constrained nodes and constrained networks in
the Internet of Things (IoT). It is designed to easily interface with HTTP for
integration with the Web, while meeting specialized requirements such as multicast
support, very low overhead, and simplicity for constrained environments.

The Qt CoAP module implements the client side of CoAP defined by
`RFC 7252 <https://datatracker.ietf.org/doc/html/rfc7252>`_ .
Generally, CoAP is designed to use datagram-oriented transport such as UDP, so
the current implementation of the transport is based on UDP. However implementing
custom transports based on TCP, WebSocket, and so on, is also possible.

The Qt CoAP module supports:

   * Security based on Datagram TLS (DTLS) over UDP
   * Group communication defined by `RFC 7390 <https://datatracker.ietf.org/doc/html/rfc7390>`_
   * Blockwise transfers defined by `RFC 7959 <https://datatracker.ietf.org/doc/html/rfc7959>`_
   * Resource observation defined by `RFC 7641 <https://datatracker.ietf.org/doc/html/rfc7641>`_
   * Resource discovery (multicast and single server)


Articles and Guides
^^^^^^^^^^^^^^^^^^^

    * :ref:`Qt CoAP Overview <Qt-CoAP-Overview>`
