重新连接Milo客户端。

3
如果服务器宕机并重新上线,我希望客户端能够重新连接到服务器。可以在客户端中添加一个SessionActivityListener,在Server恢复在线时通知SessionInactive和SessionActive。然而,当我收到SessionActive并尝试重新订阅时,会出现“secure channel invalid”错误消息。
现在我的解决方法是断开客户端,并创建一个完全相同订阅的新客户端。但这似乎不太优雅。所以问题是,有没有一种方法只更新“旧”客户端的连接和订阅?
我目前正在使用Prosys模拟服务器进行测试。
问候, Lukas
1个回答

5
一旦客户端成功连接,它将自动重新连接,以弥补任何连接断开的情况。如果需要,它会尝试恢复旧会话或自动创建新会话,并尝试转移订阅,如果创建了新会话。这一切都为您处理。
订阅转移可能会失败或服务器不支持,在这种情况下,您需要自己重新创建订阅。您应该向OpcUaSubscriptionManager添加一个SubscriptionListener并实现onSubscriptionTransferFailed回调函数,它会通知您传输失败并且您需要自己重新创建此订阅。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接