QtCoap Namespace

包含整个Qt CoAP 模块中使用的各种标识符。更多

头文件: #include <QtCoap>
CMake: find_package(Qt6 REQUIRED COMPONENTS Coap)
target_link_libraries(mytarget PRIVATE Qt6::Coap)
qmake: QT += coap

类型

enum class Error { Ok, HostNotFound, AddressInUse, TimeOut, BadRequest, …, Unknown }
enum class Method { Invalid, Get, Post, Put, Delete, Other }
enum class MulticastGroup { AllCoapNodesIPv4, AllCoapNodesIPv6LinkLocal, AllCoapNodesIPv6SiteLocal }
enum Port { DefaultPort, DefaultSecurePort }
enum class ResponseCode { EmptyMessage, Created, Deleted, Valid, Changed, …, InvalidCode }
enum class SecurityMode { NoSecurity, PreSharedKey, RawPublicKey, Certificate }

详细说明

类型文档

enum class QtCoap::Error

表示在处理请求过程中发现的错误条件。

常数说明
QtCoap::Error::Ok0无错误条件。
QtCoap::Error::HostNotFound1未找到远程主机名。
QtCoap::Error::AddressInUse2地址已被使用。
QtCoap::Error::TimeOut3响应未及时到达。
QtCoap::Error::BadRequest4请求未被识别。
QtCoap::Error::Unauthorized5客户端无权执行请求的操作。
QtCoap::Error::BadOption6由于一个或多个未识别或格式错误的选项,服务器无法理解请求。
QtCoap::Error::Forbidden7禁止访问该资源。
QtCoap::Error::NotFound8未找到所请求的资源。
QtCoap::Error::MethodNotAllowed9服务器不允许使用请求的 URL 所使用的方法。
QtCoap::Error::NotAcceptable10未找到符合请求接受标准的资源。
QtCoap::Error::RequestEntityIncomplete11服务器未收到继续处理所需的请求正文块。客户端未发送所有数据块,或未按服务器要求的顺序发送,或发送时间过长,以至于服务器已丢弃这些数据块。
QtCoap::Error::PreconditionFailed12请求头字段中给出的一个或多个条件在服务器上测试时评估为假。
QtCoap::Error::RequestEntityTooLarge13请求有效负载大于服务器愿意或能够处理的范围。
QtCoap::Error::UnsupportedContentFormat14有效负载的格式不受目标资源上此方法的支持。
QtCoap::Error::InternalServerFault15服务器遇到意外情况,无法满足请求。
QtCoap::Error::NotImplemented16服务器不支持满足请求所需的功能。
QtCoap::Error::BadGateway17上游服务器发生错误。
QtCoap::Error::ServiceUnavailable18服务当前不可用。
QtCoap::Error::GatewayTimeout19服务器在充当网关或代理时,未及时收到其为完成请求而需要访问的上游服务器的响应。
QtCoap::Error::ProxyingNotSupported20服务器无法或不愿充当 Proxy-Uri 选项中指定的 URI 或使用 Proxy-Scheme 中指定的方案的转发代理。
QtCoap::Error::Unknown21发生未知错误。

enum class QtCoap::Method

该枚举用于指定 CoAP 请求方法。

常量描述
QtCoap::Method::Invalid0空请求的默认请求方法。
QtCoap::Method::Get1GET 方法。
QtCoap::Method::Post2POST 方法。
QtCoap::Method::Put3PUT 方法
QtCoap::Method::Delete4DELETE 方法。
QtCoap::Method::Other5其他请求方法。

enum class QtCoap::MulticastGroup

该枚举表示RFC 7252 中定义的 CoAP 多播组地址。

常量描述
QtCoap::MulticastGroup::AllCoapNodesIPv40IPv4 "所有 CoAP 节点 "地址224.0.1.187,来自 "IPv4 多播地址空间注册表"。
QtCoap::MulticastGroup::AllCoapNodesIPv6LinkLocal1IPv6 "所有 CoAP 节点 "链接本地范围地址FF02::FD,来自 "IPv6 多播地址空间注册表"。
QtCoap::MulticastGroup::AllCoapNodesIPv6SiteLocal2IPv6 "所有 CoAP 节点 "站点本地范围地址FF05::FD,来自 "IPv6 多播地址空间注册中心"。

enum QtCoap::Port

该枚举指定了默认的 CoAP 端口值。

常量说明
QtCoap::DefaultPort5683用于非安全传输的默认端口。
QtCoap::DefaultSecurePort5684用于安全传输的默认端口。

enum class QtCoap::ResponseCode

该枚举表示RFC 7252RFC 7959 中定义的 CoAP 协议的响应代码。

常量描述
QtCoap::ResponseCode::EmptyMessage0x00空消息的响应代码。
QtCoap::ResponseCode::Created0x41请求成功并创建了新资源。此响应代码对应 HTTP 201 "已创建"。
QtCoap::ResponseCode::Deleted0x42资源已成功删除。此响应代码与 HTTP 204 "无内容 "相对应,但只用于响应导致资源不再可用的请求,如 DELETE 和某些情况下的 POST。
QtCoap::ResponseCode::Valid0x43该响应代码与 HTTP 304 "未修改 "相关,但仅用于表明 ETag 选项中给出的实体标记所标识的响应是有效的。
QtCoap::ResponseCode::Changed0x44资源已成功修改。该响应代码与 HTTP 204 "无内容 "相对应,但只用于响应 POST 和 PUT 请求。
QtCoap::ResponseCode::Content0x45请求已成功。该响应代码与 HTTP 200 "OK "相对应,但只用于响应 GET 请求。
QtCoap::ResponseCode::Continue0x5F表示当前数据块传输成功,服务器将发送更多数据块。
QtCoap::ResponseCode::BadRequest0x-80请求未被识别。该响应代码与 HTTP 400 "Bad Request(错误请求)"相对应。
QtCoap::ResponseCode::Unauthorized0x-7f客户端无权执行请求的操作。此响应代码对应 HTTP 401 "未授权"。
QtCoap::ResponseCode::BadOption0x-7e由于未识别选项,服务器无法理解请求。
QtCoap::ResponseCode::Forbidden0x-7d禁止访问此资源。此响应代码对应 HTTP 403 "禁止"。
QtCoap::ResponseCode::NotFound0x-7c未找到请求的资源。此响应代码对应 HTTP 404 "未找到"。
QtCoap::ResponseCode::MethodNotAllowed0x-7b服务器不允许使用请求的 URL 所使用的方法。此响应代码与 HTTP 405 "方法不允许 "相对应,但与 "允许 "头域无关。
QtCoap::ResponseCode::NotAcceptable0x-7a未找到符合请求接受标准的资源。此响应代码与 HTTP 406 "不可接受 "相对应,但没有响应实体。
QtCoap::ResponseCode::RequestEntityIncomplete0x-78服务器尚未收到继续处理所需的请求正文的所有块。
QtCoap::ResponseCode::PreconditionFailed0x-74在服务器上进行测试时,请求标头字段中给出的前提条件评估结果为false 。此响应代码与 HTTP 412 "先决条件失败 "相对应。
QtCoap::ResponseCode::RequestEntityTooLarge0x-73请求有效载荷大于服务器愿意或能够处理的范围。此响应代码对应 HTTP 413 "请求实体过大"。
QtCoap::ResponseCode::UnsupportedContentFormat0x-72有效负载的格式不受目标资源上此方法的支持。此响应代码对应 HTTP 415 "不支持的媒体类型"。
QtCoap::ResponseCode::InternalServerFault0x-60服务器遇到意外情况,无法满足请求。此响应代码对应 HTTP 500 "内部服务器错误"。
QtCoap::ResponseCode::NotImplemented0x-5f服务器不支持满足请求所需的功能。此响应代码对应 HTTP 501 "未执行"。
QtCoap::ResponseCode::BadGateway0x-5e上游服务器发生错误。此响应代码对应 HTTP 502 "网关错误"。
QtCoap::ResponseCode::ServiceUnavailable0x-5d服务当前不可用。此响应代码对应 HTTP 503 "服务不可用"。
QtCoap::ResponseCode::GatewayTimeout0x-5c服务器在充当网关或代理时,没有及时收到上游服务器的响应。此响应代码对应 HTTP 504 "网关超时"。
QtCoap::ResponseCode::ProxyingNotSupported0x-5b服务器无法或不愿意充当 Proxy-Uri 选项中指定的 URI 或使用 Proxy-Scheme 中指定的方案的转发代理。
QtCoap::ResponseCode::InvalidCode0xFF无效响应代码。

enum class QtCoap::SecurityMode

根据RFC 7252 的定义,指定用于保护 CoAP 连接的安全模式。

常量说明
QtCoap::SecurityMode::NoSecurity0无协议级安全(禁用 DTLS)。
QtCoap::SecurityMode::PreSharedKey1启用了 DTLS。安全将使用 PSK 验证。
QtCoap::SecurityMode::RawPublicKey2启用了 DTLS。将使用不带证书的非对称密钥对(原始公钥)来保证安全性。暂不支持该模式。
QtCoap::SecurityMode::Certificate3已启用 DTLS。将使用带有 X.509 证书的非对称密钥对来保证安全性。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.