Connection recovery
Connection recovery can be activated with ConnectionRecovery property.
SmppClient _client = new SmppClient();
_client.ConnectionRecovery = true;
This works only after first successful bind. SmppClient triggers following events by connection recovery:
- event evConnected - when connected to the server.
- event evRecoverySucceeded - when bind was successful.
- event evDisconnected - when bind was failed.
Connection won't be recovered when you call directly the method client.Disconnect().
For the first successful bind you need to write a Connect method so that it repeats Connect and Bind until it receives status ESME_ROK in BindResp.
The delay time between recovery attempts can be changed with the property ConnectionRecoveryDelay. Default is 2 minutes.
Note
If you send Bind in evConnected event handler method, it can cause SmppException when the second Bind method is called for an already bound client.