[英]eclipse milo session not getting created when opc UA server restarts
我在我們的應用程序中使用eclipse milo java OPCUA客戶端SDK進行OPC實施。 我能夠創建會話,訂閱和監視。 它工作正常,但是當opc服務器重新啟動時,我嘗試刪除上一個會話並使用相同的參數創建一個新會話時,出現以下異常:
UaException:status = Bad_Timeout,消息=超時,等待確認
引發錯誤的行是:
EndpointDescription []端點= UaTcpStackClient.getEndpoints(endpointurl).get();
在服務器端,我得到了錯誤:
OPCUAServerEndPoint#_on_client_connection已達到最大連接數-拒絕連接
但是,當我嘗試使用相同的參數再次創建會話時,確實會創建
您不應該自己創建會話,因為這是由客戶端為您處理的,並且您絕對不應該嘗試刪除上一個會話。
您唯一需要做的就是將一個SubscriptionListener
添加到OpcUaSubscriptionManager
並處理onSubscriptionTransferFailed
回調。
收到此回調意味着客戶端已重新連接並必須創建新的會話,但是服務器無法將其舊的訂閱轉移到該會話。 當重新連接花費的時間太長並且訂閱超時或由於某種原因導致服務器丟失其所有狀態(例如重新啟動)時,通常會發生這種情況。
我添加了一個復雜的集成測試,該測試證明所有這些操作確實有效,您可以在此處查看 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.