我的服务器公开了一组测量值,但仅公开了那些尚未读取的测量值。为此,我只实现了一个资源 /new
,它丢弃了它在请求后刚刚发送的测量值GET
。如何让服务器等待请求者确认收到响应?
我知道这并不完全尊重 CoAP 语义,但它仍然对我有用。我的意思是服务器只会丢弃某些客户端实际收到的读数。
我的服务器公开了一组测量值,但仅公开了那些尚未读取的测量值。为此,我只实现了一个资源 /new
,它丢弃了它在请求后刚刚发送的测量值GET
。如何让服务器等待请求者确认收到响应?
我知道这并不完全尊重 CoAP 语义,但它仍然对我有用。我的意思是服务器只会丢弃某些客户端实际收到的读数。
您可能解决了它(在这种情况下,您能说出您使用了哪种方法吗?我很感兴趣)。无论如何,我认为您应该使用令牌(https://www.rfc-editor.org/rfc/rfc7252#section-5.3.1)。这就是我要做的:
客户端向服务器发送一个包含消息令牌的 CON 请求。
服务器发送具有相同令牌的空 ACK。
服务器发送一个包含相同令牌和一组测量值的 CON 响应。
客户端发送具有相同令牌的空 ACK。
服务器现在可以删除读取资源。
服务器可以在读取资源后删除它。
您还可以查看 CoAP-MQ 草案,用于在 CoAP 之上发布/订阅