Subscription: notification if a client has received data

Questions regarding the use of the .NET SDK 2.0 for Server or Client development or integration into customer products ...

Moderator: uasdknet

Post Reply
richmont
Jr. Member
Jr. Member
Posts: 4
Joined: 17 Nov 2016, 08:19

Subscription: notification if a client has received data

Post by richmont »

Hello,

I am trying to find a solution for the following problem inside my opcua server implementation:

Inside a subscription I want to know when a Client has received the current data value after a data change occured.
More clearly I need to be 100 percent sure that the client has received the new value for the subscripted item:

Subscription exists -> Data Change Detected -> Notification to subscriping Client -> Acknowledge -> get Informed

I tried to get the needed information by overriding the methods:
  • SubscriptionManager.RaiseSubscriptionEvent
    BaseNodeManager.FinishDataTransaction
    BaseNodeManager.Confirm
    BaseNodeManager.Acknowledge
    ServerManager.OnRequestComplete
but i was not able to get the info I want.

Is there a way to get the information I want with the use of the sdk or the toolkit and if possible a hint on how to achieve this.

Thanks in advance

User avatar
Support Team
Hero Member
Hero Member
Posts: 3064
Joined: 18 Mar 2011, 15:09

Re: Subscription: notification if a client has received data

Post by Support Team »

There is no way for the server application to get informed that a client has received specific information.
You need to create an own acknowledge mechanism on application level.
Best regards
Unified Automation Support Team

richmont
Jr. Member
Jr. Member
Posts: 4
Joined: 17 Nov 2016, 08:19

Re: Subscription: notification if a client has received data

Post by richmont »

Thanks for the answer. This is a serious problem for me.

Having the following situation: only one client is connected to my server, that subscribes a Variablenode.
If a data change occurs and the variable is subscripted, can I suggest that the data is delivered as long as the session does exist as least as long as one publish interval?

Or is there a way to use an own subscription manager if I am using an own NodeManager derivated from BaseNodeManager?

Post Reply