En condiciones normales, el cliente que envía un mensaje SC_CALLBACK_REG recibe una respuesta en la que se indica si el registro se ha realizado con éxito o no.
Sin embargo, el servidor puede experimentar una condición de red durante el registro de un cliente que le impida enviar un mensaje SC_REPLY a éste. En este caso, el registro se podría haber realizado satisfactoriamente antes de que se produjera la condición de error, podría haber fallado o podría no haber sido procesado.
Como el servidor debe funcionar como tipo de recurso de recuperación antes fallos o como servidor del clúster, con alta disponibilidad, esta condición de error no implica la finalización del servicio. De hecho, es posible que el servidor pueda empezar muy pronto a enviar eventos al cliente recién registrado.
Para solucionar estas condiciones, el cliente debe realizar las siguientes acciones:
Imponer un tiempo de espera, a nivel de la aplicación, para la conexión de registro que espera la recepción del mensaje SC_REPLY. Una vez transcurrido este tiempo, el cliente debe intentar de nuevo efectuar el proceso de registro.
Empezar a recibir en su número de puerto y dirección IP de rellamada por si hubiera recepción de eventos antes de registrar las rellamadas de eventos. El cliente debería esperar a recibir un mensaje de confirmación de registro y los envíos de eventos paralelamente. Si el cliente empieza a recibir eventos antes de recibir un mensaje de confirmación, debería cerrar discretamente la conexión de registro.