PySide6.QtCoap.QCoapClient¶
- class QCoapClient¶
QCoapClient类允许应用程序发送 CoAP 请求并接收回复。更多…概要¶
方法¶
def
__init__()def
cancelObserve()def
deleteResource()def
disconnect()def
discover()def
get()def
observe()def
post()def
put()def
setAckTimeout()def
setBlockSize()
信号¶
def
error()def
finished()
注意
本文档可能包含从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()函数。你也可以使用一个observe请求。这可以像上面那样使用,或者更方便地与
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]])¶
- Parameters:
securityMode –
SecurityModeparent –
QObject
为给定的
securityMode构造一个QCoapClient对象,并将parent设置为父对象。securityMode的默认值是NoSecurity,这会禁用安全性。这使用QCoapQUdpConnection进行连接;要使用自定义传输,请子类化QCoapConnection并将实例传递给其他构造函数之一。
- cancelObserve(notifiedReply)¶
- Parameters:
notifiedReply –
QCoapReply
这是一个重载函数。
使用
observe()方法返回的回复notifiedReply取消对资源的观察。另请参阅
- cancelObserve(url)
- Parameters:
url –
QUrl
这是一个重载函数。
取消对由
url标识的资源的观察。另请参阅
- deleteResource(request)¶
- Parameters:
请求 –
QCoapRequest- Return type:
使用DELETE方法发送
request并返回一个新的QCoapReply对象。另请参阅
- deleteResource(url)
- Parameters:
url –
QUrl- Return type:
这是一个重载函数。
向目标
url发送DELETE请求。另请参阅
- disconnect()¶
关闭打开的套接字和连接以释放传输。
- discover(baseUrl[, discoveryPath=QLatin1String("/.well-known/core")])¶
- Parameters:
baseUrl –
QUrldiscoveryPath – str
- Return type:
发现给定
url处可用的资源,并返回一个新的QCoapResourceDiscoveryReply对象,该对象在响应到达时发出discovered()信号。发现路径默认为“/.well-known/core”,但可以通过将不同的路径传递给
discoveryPath来更改。发现过程在RFC 6690中有描述。- discover([group=QtCoap.MulticastGroup.AllCoapNodesIPv4[, port=QtCoap.DefaultPort[, discoveryPath=QLatin1String("/.well-known/core")]]])
- Parameters:
group –
MulticastGroupport – int
discoveryPath – str
- Return type:
这是一个重载函数。
发现在给定
port上加入group的端点可用的资源。返回一个新的QCoapResourceDiscoveryReply对象,每当响应到达时,该对象会发出discovered()信号。group是CoAP多播组地址之一,默认为AllCoapNodesIPv4。发现路径默认为“/.well-known/core”,但可以通过将不同的路径传递给
discoveryPath来更改。发现过程在RFC 6690中有描述。- error(reply, error)¶
- Parameters:
回复 –
QCoapReply错误 –
Error
每当发生错误时,都会发出此信号。如果错误与特定的
QCoapReply无关,则reply参数可以为None。error参数包含错误代码。另请参阅
- finished(reply)¶
- Parameters:
回复 –
QCoapReply
每当接收到CoAP回复时,无论是成功还是错误,都会与
finished()信号一起发出此信号。reply参数将包含指向刚刚接收到的回复的指针。另请参阅
- get(request)¶
- Parameters:
请求 –
QCoapRequest- Return type:
使用GET方法发送
request并返回一个新的QCoapReply对象。- get(url)
- Parameters:
url –
QUrl- Return type:
这是一个重载函数。
向
url发送一个GET请求,并返回一个新的QCoapReply对象。- observe(request)¶
- Parameters:
请求 –
QCoapRequest- Return type:
发送一个请求以观察目标
request并返回一个新的QCoapReply对象,每当有新通知到达时,该对象会发出notified()信号。- observe(request)
- Parameters:
请求 –
QUrl- Return type:
这是一个重载函数。
发送请求以观察目标
url,并返回一个新的QCoapReply对象,每当有新通知到达时,该对象会发出notified()信号。- post(request, device)¶
- Parameters:
请求 –
QCoapRequest设备 –
QIODevice
- Return type:
这是一个重载函数。
使用POST方法发送
request并返回一个新的QCoapReply对象。使用device内容作为此请求的有效载荷。空设备被视为空内容。- post(request[, data=QByteArray()])
- Parameters:
请求 –
QCoapRequestdata –
QByteArray
- Return type:
使用POST方法发送
request并返回一个新的QCoapReply对象。使用data作为此请求的有效载荷。如果data为空,则将使用request的有效载荷。- post(url[, data=QByteArray()])
- Parameters:
url –
QUrldata –
QByteArray
- Return type:
这是一个重载函数。
向
url发送POST请求,并返回一个新的QCoapReply对象。使用data作为此请求的有效载荷。- put(request, device)¶
- Parameters:
请求 –
QCoapRequest设备 –
QIODevice
- Return type:
这是一个重载函数。
使用PUT方法发送
request并返回一个新的QCoapReply对象。使用device内容作为此请求的有效载荷。空设备被视为空内容。- put(request[, data=QByteArray()])
- Parameters:
请求 –
QCoapRequestdata –
QByteArray
- Return type:
使用PUT方法发送
request并返回一个新的QCoapReply对象。使用data作为此请求的有效载荷。如果data为空,则将使用request的有效载荷。- put(url[, data=QByteArray()])
- Parameters:
url –
QUrldata –
QByteArray
- Return type:
这是一个重载函数。
向
url发送PUT请求,并返回一个新的QCoapReply对象。使用data作为此请求的有效载荷。- responseToMulticastReceived(reply, message, sender)¶
- Parameters:
回复 –
QCoapReply消息 –
QCoapMessagesender –
QHostAddress
当对多播请求的单播响应到达时,会发出此信号。
reply参数包含指向刚刚收到的回复的指针,message包含有效载荷和消息详细信息,sender包含发送者地址。另请参阅
- setAckRandomFactor(ackRandomFactor)¶
- Parameters:
ackRandomFactor – 浮点数
设置RFC 7252 - 第4.2节中定义的
ACK_RANDOM_FACTOR值为ackRandomFactor。该值应大于或等于1。默认值为1.5。另请参阅
- setAckTimeout(ackTimeout)¶
- Parameters:
ackTimeout – int
将RFC 7252 - 第4.2节中定义的
ACK_TIMEOUT值设置为ackTimeout(以毫秒为单位)。默认值为2000毫秒。此超时仅适用于可确认的消息。可靠传输的实际超时是介于
ACK_TIMEOUT和ACK_TIMEOUT * ACK_RANDOM_FACTOR之间的随机值。另请参阅
- setBlockSize(blockSize)¶
- Parameters:
blockSize – int
设置协议在发送请求和接收回复时使用的最大块大小为
blockSize。块大小必须是2的幂。- setMaximumRetransmitCount(maximumRetransmitCount)¶
- Parameters:
maximumRetransmitCount – int
将RFC 7252 - 第4.2节中定义的
MAX_RETRANSMIT值设置为maximumRetransmitCount。该值应小于或等于25。默认值为4。- setMaximumServerResponseDelay(responseDelay)¶
- Parameters:
responseDelay – int
将
MAX_SERVER_RESPONSE_DELAY值设置为responseDelay,单位为毫秒。默认值为250秒。如RFC 7390 - 第2.5节中所定义,
MAX_SERVER_RESPONSE_DELAY是客户端可以向其发送多播请求的所有服务器的预期最大响应延迟。- setMinimumTokenSize(tokenSize)¶
- Parameters:
tokenSize – int
设置最小令牌大小为
tokenSize字节。出于安全考虑,建议使用长度至少为4字节的令牌。此参数的默认值为4字节。- setSecurityConfiguration(configuration)¶
- Parameters:
从
configuration设置安全配置参数。如果使用NoSecurity模式,配置将被忽略。- setSocketOption(option, value)¶
- Parameters:
option –
SocketOptionvalue – 对象
将QUdpSocket套接字的
option设置为value。