在上一篇文章 向大家介绍了一个简单的 coap 服务和客户端的实现。本文将继续深入,介绍 coap 协议中的通知功能。
添加可通知的资源
在 coap-server 项目中的 cn.com.hohistar.iot.coap.resources 包中添加一个名为: ObserveResource 的类。与上一篇文章中的 HelloWorldResource 一样,该类继承于: CoapResource。建立好以后,修改代码如下:
1 | public class ObserveResource extends CoapResource { |
修改 Coap Server
修改 CoapService.java 文件,在 simpleListen 方法中加入新的资源:
1 | ObserveResource observeResource = new ObserveResource("observe-res"); |
修改后的完整方法代码为:
1 | public static void simpleListen() { |
修改客户的代码
在 BasicClient.java 文件中添加一个新的方法:
1 | public static void startObserver() { |
然后将 main 函数的中代码修改为:
1 | public static void main(String args[]) { |
验证结果
先运行服务端,然后运行客户端,在客户的的输出中可以看到类似如下的结果:
1 | response: Current value: 10.8 |
客户端的信息被服务端每秒通知一次。