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