gpt4 book ai didi

java - opc UA 服务器重新启动时未创建 eclipse milo session

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:53 42 4
gpt4 key购买 nike

我在我们的应用程序中使用 eclipse milo java OPCUA 客户端 SDK 来实现 OPC。我能够创建 session 、订阅和监控。工作正常但是当 opc 服务器重新启动并且我尝试删除以前的 session 并创建具有相同参数的新 session 时,我得到以下异常:

UaException: status=Bad_Timeout, message=timed out waiting for acknowledge

抛出错误的行是:

EndpointDescription[] endpoints = UaTcpStackClient.getEndpoints(endpointurl).get();

在服务器端我收到错误:

OPCUAServerEndPoint#_on_client_connection The maximum number of connection has b een reached - Connection is refused

但是,当我尝试使用相同的参数再次创建 session 时,它确实被创建了

最佳答案

您不应该自己创建 session ,因为这是由客户端为您处理的,并且您绝对不应该尝试删除以前的 session 。

您唯一需要做的就是将 SubscriptionListener 添加到 OpcUaSubscriptionManager 并处理 onSubscriptionTransferFailed 回调。

收到此回调意味着客户端已重新连接并必须创建新 session ,但服务器无法将其旧订阅传输到此 session 。这种情况通常发生在重新连接时间过长且订阅超时,或者某些原因导致服务器丢失所有状态时,例如它会重新启动。

我添加了一个有点复杂的集成测试,证明所有这些确实有效,您可以 see it here .

关于java - opc UA 服务器重新启动时未创建 eclipse milo session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41462992/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com