我目前正在研究 IOT Coap 协议。我通过铜火狐插件访问本地主机上的服务器。然后我在服务器中添加了具有“GET”功能的资源。之后,我将其客户端作为流媒体源。这是客户端流式传输的代码
class customReceiver(test:String) extends Receiver[String](StorageLevel.MEMORY_AND_DISK_2) with Logging with Serializable {
@volatile private var stopped = false
override def onStart() {
val client = new CoapClient("ip/resource")
var text = client.get().getResponseText();
store(text)
}
override def onStop(): Unit = synchronized {
try
{
stopped = true
}
catch
{
case e: Exception => println("exception caught: " + e);
}
}
}
但我面临一个问题。在流式传输期间,它只读取一次资源。之后,它会获取所有空的 rdd 并完成它的批次。同时,如果资源改变了它的值,它就不会读取它。我做错了什么吗?或者是否有任何其他功能可以在我可以在我的自定义接收器中处理的资源发生更改时读取。?或者关于如何在流式传输期间持续获取价值的任何想法?
任何帮助都非常期待和赞赏。谢谢