We have a Delphi implementation with the RemObject superTCP channel with Binary messages.
It looks like, sometimes our server gets messages twice and also handles them twice. After looking into the code, I saw the AckWaitYimeout on the client was set to 2000 (ms). I know the customer has a poor network connection from the location this action was initiated.
Two questions:
-
Can this low time cause messages are sending twice to our server?
-
Is there some best practice to prevent this kind of errors? Of course increasing the timeout client side is an option, but maybe there’s also an server side option? I think of checking (per session) the incomming message id’s (and cache time for a time X) to see if we have dupplicates