Applies To:
  • CitectSCADA

Summary:
TCP/IP driver does not try to reconnect on loosing communication 

Solution:
1 - Add –RC to special options field to allow reconnection attempts.
2 - Add (-K) to special options field, Winsock will be able to detect a loss of communication via the TCP/IP connection and an FD_CLOSE is sent to the driver.
3 - When the driver receives FD_CLOSE, a reconnection retry is executed every Timeout ms (INI parameter).

Special options:

-RC: Activate the reconnection retries on reception of FD_CLOSE event. FD_CLOSE is only received if the Keepalive option is activated. –RC can resolve issues where the TCP/IP driver is notified of the connection close. For a more comprehensive handling, the –k option is needed. Retries can also be activated with the following high-level driver call:
COMSetParam((SHORT)ChnannelNumber, (UCHAR*)("DO_RECONNECT"), NULL);

-K: set socket SO_KEEPALIVE flag. Registry changes needed, please refer to Microsoft article Q158474

INI parameter:

[TCPIP]
Timeout=3000
This parameter will allow defining the timeout period between connections retries. Default value is 10000 (ms).
 

Keywords:
 

Attachments