07/15/2024
OfflineHi!
Let's say there is an ua server with one endpoint but it is located on a pc with N network cards. (N = 2 for simplicity)
The client's goal is to maintain subscriptions on either one of the available channel - the active channel.
How does the client should monitor connection to the inactive channel? Is there a standard mechanism to do it?
Do we always need to create a session on inactive channel to monitor its connection status?
Possible monitoring connection ways:
1. Both channels connect to the server, create own sessions, but only the active channel creates subscriptions. The inactive channel monitors connection by periodically reading ServerStatus variable (as stated in 6.7 Re-establishing connections). In case active channel disconnects we are activating its session on another channel (the inactive channel becomes active)
2. Same, but the inactive channel does not create a session and monitoring connection by periodically calling GetEndpoints service
3. Same, but the inactive channel does not create a session and monitoring connection by periodically sending Hello message (but it seems to break the specification as the server expects only single hello message...)
4. Not monitoring connection on inactive channel (s) and connecting one by one from scratch (with activating session) only in case of active channel connection loss. Switching to the available channel can be slow...
Thanks in advance
05/30/2017
OfflineThe minimum would create a session and Read ServiceLevel.
Not sure why you want to optimize by using GetEndpoints but it would likely solve the problem.
Messing with low level messages could get you client flagged as a attacker and put on delays
Your requirements tell you if you need warm failover or cold.
1 Guest(s)


Log In

Usage Policy