Un cliente inicia un registro, abriendo una conexión TCP con la dirección IP y el número de puerto del servidor. Una vez establecida la conexión TCP y lista para escribir, el cliente debe enviar su mensaje de registro. Éste debe ser un mensaje SC_CALLBACK_REG de formato correcto que no contenga bytes adicionales antes ni después del mensaje.
Una vez escritos todos los bytes en el canal, el cliente debe mantener la conexión abierta para recibir la respuesta del servidor. Si el cliente no le da el formato correcto al mensaje, el servidor no registrará el cliente y le enviará una respuesta de error. Si el cliente cierra la conexión de zócalo antes de que el servidor envíe una respuesta, éste registra el cliente como normal.
Un cliente puede ponerse en contacto con el servidor en cualquier momento. Cada vez que un cliente se pone en contacto con el servidor, el cliente debe enviar un mensaje SC_CALLBACK_REG. Si el servidor recibe un mensaje con formato erróneo, fuera de servicio o no válido, envía una respuesta de error al cliente.
Un cliente no puede enviar un mensaje ADD_EVENTS, REMOVE_EVENTS o REMOVE_CLIENT antes de enviar el mensaje ADD_CLIENT. Un cliente no puede enviar un mensaje REMOVE_CLIENT antes de haber enviado un mensaje ADD_CLIENT.
Si un cliente envía un mensaje ADD_CLIENT y el cliente ya está registrado, es posible que el servidor tolere el mensaje. En este caso, el servidor sustituye silenciosamente el registro anterior del cliente por el nuevo, especificado en el segundo mensaje ADD_CLIENT.
En la mayoría de los casos, un cliente se registra sólo una vez en el servidor, al comenzar, con un mensaje ADD_CLIENT. El cliente sólo cancela su registro una vez, enviando un mensaje REMOVE_CLIENT al servidor. Sin embargo, CRNP proporciona una mayor flexibilidad a aquellos clientes que tengan que modificar dinámicamente la lista de tipos de eventos.
Cada mensaje ADD_CLIENT, ADD_EVENTS y REMOVE_EVENTS contiene una lista de eventos. La tabla siguiente describe los tipos de eventos que acepta CRNP, incluidos los valores requeridos de nombre y valor.
Envía un mensaje REMOVE_EVENTS que especifique uno o varios tipos de eventos para los cuales el cliente no se ha registrado previamente
Registra el mismo tipo de evento dos veces
Clase y subclase |
Pares nombre-valor |
Descripción |
---|---|---|
EC_Cluster ESC_cluster_membership |
Necesario: ninguno Opcional: ninguno |
Registra todos los eventos de cambio en los miembros del clúster (terminación de nodo o unión) |
EC_Cluster ESC_cluster_rg_state |
Uno necesario, como sigue: rg_name Tipo de valor: cadena Opcional: ninguno |
Registra todos los eventos de cambio de estado del grupo de recursos nombre |
EC_Cluster ESC_cluster_r_state |
Uno necesario, como sigue: r_name Tipo de valor: cadena Opcional: ninguno |
Registra todos los eventos de cambio de estado del recurso nombre |
EC_Cluster Ninguno |
Necesario: ninguno Opcional: ninguno |
Registra todos los eventos de Sun Cluster |