考虑到CoAP协议是为物联网中资源受限设备制定的应用层协议,稳恒科技在研发、设计新品之时,会着重考虑CoAP协议对用户使用过程中的体验效果。
多数情况下,如果服务器不能立即响应一个CON的请求的话,服务器只能返回一个空应答,这个空应答能使客户端停止重传CoAP请求。但是一些时间过去之后,服务器端准备好了上一个CON请求的响应,此时服务器向客户端发送一个CON请求,该CON请求需要客户端确认。在服务器侧,此时发送的CON请求中的Token标记必须和客户端发送给服务器的CON请求中的Token标记完全一致。这也是Token标志和序列号使用不同的地方,具体流程如下:
1)客户端发送一个CON请求;
2)此时服务器无法返回。如果服务器无法迅速响应,客户端就会重复发送CON请求。为了避免这种情况的发生,服务器会发送一个空应答。
3)当客户端收到一个空应答,而空应答中的ID和CON请求中的ID相同,那么客户端便会理解,服务器此时正忙,会在一定时间之后通过CON请求的方式返回内容。
4)当服务器准备好接收数据时便尝试发送给客户端,服务器会构造一个CON请求并复制原先的CON请求中的Token标记。
5)客户端收到一个来自服务器的CON请求之后返回一个应答,如果客户端不及时返回应答,服务器会认为上一个CON请求丢失并会尝试重新发送CON请求。