- class QCoapClient#
QCoapClient
类允许应用程序发送 CoAP 请求并接收回复。 更多…摘要#
方法#
def
__init__()
def
cancelObserve()
def
deleteResource()
def
disconnect()
def
discover()
def
get()
def
observe()
def
post()
定义
put()
信号#
注释
本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译中的问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建问题来解决。
详细描述#
QCoapClient
类包含在发送请求的回复到达时被触发的信号。应用程序可以使用
QCoapClient
在 CoAP 网络上发送请求。它为标准请求提供函数:每个函数都返回一个QCoapReply
对象,响应数据应传递到该对象;可以在finished()
信号到达时读取。可以使用以下方式发送简单请求:
QCoapClient *client = new QCoapClient(this); connect(client, &QCoapClient::finished, this, &TestClass::slotFinished); client->get(QCoapRequest(Qurl("coap://coap.me/test")));
注释
请求处理完成后,用户责任在适当的时间删除
QCoapReply
对象。请勿在连接到finished()
方法的槽中直接删除它。您可以使用 deleteLater() 函数。您还可以使用观察请求。这可以像上面一样使用,或者更方便地使用
notified()
信号QCoapRequest request = QCoapRequest(Qurl("coap://coap.me/obs")); QCoapReply *reply = client->observe(request); connect(reply, &QCoapReply::notified, this, &TestClass::slotNotified);
可以使用以下方法取消观察:
client->cancelObserve(reply);
当收到回复时,
QCoapClient
会发出finished()
信号。注释
对于发现请求,返回的对象是
QCoapResourceDiscoveryReply
。它可以像QCoapReply
一样使用,但还包含资源列表。- __init__([securityMode=QtCoap.SecurityMode.NoSecurity[, parent=None]])#
- 参数:
securityMode –
SecurityMode
parent –
QObject
构造用于给定
securityMode
的QCoapClient
对象,并将parent
设置为父对象。securityMode
的默认值是NoSecurity
,这将禁用安全。这使用 QCoapQUdpConnection 连接;如果需要使用自定义传输,可以派生 QCoapConnection 类,并将实例传递给其他构造函数之一。
- cancelObserve(notifiedReply)#
- 参数:
notifiedReply –
QCoapReply
这是一个重载函数。
使用由
observe()
方法返回的notifiedReply
令牌取消对资源的监视。另请参阅
- cancelObserve(url)
- 参数:
url –
QUrl
这是一个重载函数。
取消由
url
标识的资源监视。另请参阅
- deleteResource(request)#
- 参数:
request –
QCoapRequest
- 返回类型:
使用 DELETE 方法发送
request
并返回一个新的QCoapReply
对象。另请参阅
- deleteResource(url)
- 参数:
url –
QUrl
- 返回类型:
这是一个重载函数。
向目标
url
发送 DELETE 请求。另请参阅
- disconnect()#
关闭打开的套接字和连接以释放传输。
- discover([group=QtCoap.MulticastGroup.AllCoapNodesIPv4[, port=QtCoap.DefaultPort[, discoveryPath=QLatin1String("/.well-known/core")]]])#
- 参数:
group –
MulticastGroup
port – int
discoveryPath – str
- 返回类型:
这是一个重载函数。
在给定端口加入
group
的端点发现可用的资源。返回一个新的QCoapResourceDiscoveryReply
对象,每当收到响应时都会发出discovered()
信号。其中group
是CoAP多播组地址之一,默认为AllCoapNodesIPv4
.发现路径默认为“/.well-known/core”,但可以通过传递不同的路径给
discoveryPath
来更改。发现过程在RFC 6690中描述。- discover(baseUrl[, discoveryPath=QLatin1String("/.well-known/core")])
- 参数:
baseUrl –
QUrl
discoveryPath – str
- 返回类型:
发现给定
url
下可用的资源,并返回一个新的QCoapResourceDiscoveryReply
对象,每当响应到来时都会发出discovered()
信号。发现路径默认为“/.well-known/core”,但可以通过传递不同的路径给
discoveryPath
来更改。发现过程在RFC 6690中描述。- error(reply, error)#
- 参数:
reply –
QCoapReply
error –
Error
当发生错误时发出此信号。如果错误与特定的
QCoapReply
无关,则reply
参数可以是None
。参数error
包含错误代码。另请参阅
- finished(reply)#
- 参数:
reply –
QCoapReply
该信号与
finished()
信号一同发出,每当接收到CoAP响应(无论是成功或错误)时都会触发。参数reply
将包含指向刚刚接收到的响应的指针。另请参阅
- get(request)#
- 参数:
request –
QCoapRequest
- 返回类型:
使用GET方法发送
request
,并返回一个新的QCoapReply
对象。- get(url)
- 参数:
url –
QUrl
- 返回类型:
这是一个重载函数。
向
url
发送GET请求,并返回一个新的QCoapReply
对象。- observe(request)#
- 参数:
request –
QCoapRequest
- 返回类型:
发送请求以观察目标
request
,并返回一个新的QCoapReply
对象,每当有新的通知到达时,该对象会发出notified()
信号。- observe(request)
- 参数:
request –
QUrl
- 返回类型:
这是一个重载函数。
发送一个请求来监控目标
url
,并返回一个新的QCoapReply
对象,每当有新的通知到达时,都会发出notified()
信号。- post(request, device)#
- 参数:
request –
QCoapRequest
device –
QIODevice
- 返回类型:
这是一个重载函数。
使用 POST 方法发送
request
并返回一个新的QCoapReply
对象。使用device
的内容作为此请求的有效负载。空设备被视为空内容。- post(url[, data=QByteArray()])
- 参数:
url –
QUrl
data –
QByteArray
- 返回类型:
这是一个重载函数。
向
url
发送 POST 请求并返回一个新的QCoapReply
对象。使用data
作为此请求的有效负载。- post(request[, data=QByteArray()])
- 参数:
request –
QCoapRequest
data –
QByteArray
- 返回类型:
使用 POST 方法发送
request
并返回一个新的QCoapReply
对象。使用data
作为此请求的有效负载。如果data
为空,将使用request
的有效负载。- put(request, device)#
- 参数:
request –
QCoapRequest
device –
QIODevice
- 返回类型:
这是一个重载函数。
使用 PUT 方法发送
request
并返回一个新的QCoapReply
对象。使用device
的内容作为此请求的有效负载。空设备被视为空内容。- put(request[, data=QByteArray()])
- 参数:
request –
QCoapRequest
data –
QByteArray
- 返回类型:
使用 PUT 方法发送
request
并返回一个新的QCoapReply
对象。使用data
作为此请求的有效负载。如果data
为空,将使用request
的有效负载。- put(url[, data=QByteArray()])
- 参数:
url –
QUrl
data –
QByteArray
- 返回类型:
这是一个重载函数。
向
url
发送 PUT 请求并返回一个新的QCoapReply
对象。使用data
作为此请求的有效负载。- responseToMulticastReceived(reply, message, sender)#
- 参数:
reply –
QCoapReply
message –
QCoapMessage
sender –
QHostAddress
当接收到针对组播请求的单一响应时,会发射此信号。参数
reply
包含刚刚收到的响应的指针,message
包含有效载荷和消息细节,而sender
包含发送者的地址。另请参阅
- setAckRandomFactor(ackRandomFactor)#
- 参数:
ackRandomFactor – float
设置在 RFC 7252 - 第 4.2 节 中定义的
ACK_RANDOM_FACTOR
值为ackRandomFactor
。此值应大于或等于 1。默认为 1.5。另请参阅
- setAckTimeout(ackTimeout)#
- 参数:
ackTimeout – int
将 RFC 7252 - 第 4.2 节 中定义的
ACK_TIMEOUT
值设置为以毫秒为单位的ackTimeout
。默认为 2000 ms。此超时仅适用于可确认的消息。可靠传输的实际超时值是在
ACK_TIMEOUT
和ACK_TIMEOUT * ACK_RANDOM_FACTOR
之间的随机值。另请参阅
- setBlockSize(blockSize)#
- 参数:
blockSize – int
在发送请求和接收响应时,将协议使用的最大块大小设置为
blockSize
。块大小必须是 2 的幂。- setMaximumRetransmitCount(maximumRetransmitCount)#
- 参数:
maximumRetransmitCount – int
将 RFC 7252 - 第 4.2 节 中定义的
MAX_RETRANSMIT
值设置为maximumRetransmitCount
。此值应小于或等于 25。默认为 4。- setMaximumServerResponseDelay(responseDelay)#
- 参数:
responseDelay – int
将
MAX_SERVER_RESPONSE_DELAY
的值设置为毫秒数的responseDelay
。默认值为 250 秒。正如在RFC 7390 - 第2.5节 中定义的那样,
MAX_SERVER_RESPONSE_DELAY
是客户端可以向其发送组播请求的所有服务器上预期的最大响应延迟。- setMinimumTokenSize(tokenSize)#
- 参数:
tokenSize – int
将最小令牌大小设置为字节数的
tokenSize
。由于安全原因,建议使用至少4字节的令牌。此参数的默认值为4字节。- setSecurityConfiguration(configuration)#
- 参数:
configuration –
QCoapSecurityConfiguration
从
configuration
设置安全配置参数。如果使用NoSecurity
模式,则配置将被忽略。- setSocketOption(option, value)#
- 参数:
option –
SocketOption
value – 对象
将 QUdpSocket 的
option
设置为value
。