0

一个端点连接到 Kaa 服务器并订阅一些主题。正常情况下,KaaClient 的 unsubscribeFromTopic() & stop() 方法会在断开 Kaa 服务器之前被调用。

在某些情况下,端点可能会突然断开 Kaa 服务器并且不会立即重新连接到 Kaa 服务器(例如:断电...)。

如果一个端点在没有调用 unsubscribeFromTopic() & stop() 方法的情况下断开 Kaa 服务器,资源仍然会被占用??如果是,Kaa 服务器对所有端点都有心率机制??如果 Kaa 服务器可以检测到端点在一段时间内断开连接,它会自动启动一个端点吗?

4

1 回答 1

2

简短的回答是肯定的,一旦没有活动连接,Kaa 将释放资源。有一个乒乓机制来跟踪会话不活动。将使用的不活动超时是可配置的。有关详细信息,请参阅此配置文件。

扩展答案:Kaa 使用基于 Akka 框架的 actor 系统来处理端点请求/会话。每个 Endpoint 都有关联的 Endpoint Actor(实际上,至少有两个,一个在处理端点会话的节点上,一个用于 Kaa 集群中特定端点的全局 Actor)。一旦没有可用的活动会话,此参与者就会安排超时。

于 2016-09-21T14:37:27.363 回答