versión 6.5
REGISTER CLIENT ({nomCliente}{; periodo{; *}})
Parámetro | Tipo | Descripción | |
nomCliente | Alfa | Nombre de la sesión 4D Client | |
periodo | Entero largo | Periodo de interrogación al servidor (en segundos) | |
* | * | Proceso local |
Descripción
El comando REGISTER CLIENT "registra" un equipo cliente 4D con el nombre especificado en nomCliente en 4D Server, con el fin de permitir a otros clientes o eventualmente 4D Server (utilizando procedimientos almacenados) ejecutar métodos utilizando el comando EXECUTE ON CLIENT. Una vez registrado, un cliente 4D puede ejecutar uno o varios métodos para otros clientes.
Nota: Igualmente puede registrar automáticamente cada puesto cliente que se conecte a 4D Server utilizando la opción "Registrar los clientes al inicio..." en la caja de diálogo de Preferencias.
Cuando se ejecuta este comando, un proceso, llamado nomCllient, se crea en el equipo cliente. Este proceso sólo puede ser abortado por el comando UNREGISTER CLIENT.
Si pasa el parámetro opcional *, el proceso creado es local. 4D añade automáticamente el signo dólar ($) al comienzo del nombre del proceso. De lo contrario, el proceso es global.
Después de la ejecución de este comando, el puesto cliente interrogar periódicamente 4D Server para ver si otro cliente 4D o el servidor mismo lo llaman. Por defecto, esta interrogación se efectúa cada dos segundos. Puede modificar este periodo de tiempo cambiando periodo. El valor mínimo es un segundo.
Nota: Si este comando se utiliza con 4D en modo local, el comando no hace nada.
Una vez ejecutado el comando, no es posible modificar rápidamente el nombre del cliente 4D o el periodo de interrogación al servidor. Para hacerlo, debe llamar al comando UNREGISTER CLIENT, y luego ejecutar el comando REGISTER CLIENT.
Nota: Más de un cliente 4D pueden tener el mismo nombre registrado.
Si un cliente 4D está registrado correctamente, la variable sistema OK es igual a 1. Si el cleinte 4D ya fue registrado, el comando no hace nada y OK toma el valor 0.
Ejemplos
En el siguiente ejemplo, vamos a crear un sistema de mensajería pequeño que permita a los puestos clientes comunicarse entre ellos.
1. Este método, Registro, le permite registrar un cliente 4D y conservarlo listo para recibir un mensaje de otro 4D Client:
`Debe salir del registro antes de registrarse con otro nombre UNREGISTER CLIENT Repeat vNomPseudo:=Request("Introduzca su nombre:";"Usuario";"OK";"Cancelar") Until ((OK=0) | (vNomPseudo# "")) If (OK=0) ...` No hacer nada Else REGISTER CLIENT(vNomPseudo) End if
2. La siguiente instrucción le permite obtener una lista de los 4D Clients registrados. Puede colocarse en el Método de base On Startup:
PrListClient:=New process("Lista_4D Client";32000;"Lista de clientes registrados")
3. El método Lista_4DClient le permite recuperar todos los 4D Clients registrados y las personas que pueden recibir mensajes:
If (Application type=4D Client) ` el código a continuación sólo es válido en modo cliente-servidor $Ref:=Open window(100;100;300;400;-(Palette window+Has window title);"Lista de clientes registrados") Repeat GET REGISTERED CLIENTS($ListClient;$ListeCharge) `Retrieve the registered clients in $ClientList ERASE WINDOW($Ref) GOTO XY(0;0) For ($p;1;Size of array($ListClient)) MESSAGE($ListClient{$p}+Char(Carriage return)) End for `Mostrar cada segundo DELAY PROCESS(Current process;60) Until (False) ` Bucle infinito End if
4. El siguiente método le permite enviar un mensaje a otro cliente 4D registrado. Llama al método Mostrar_Mensaje (ver a continuación).
$Destinatario:=Request("Destinatario del mensaje:";"") ` Introduza el nombre de las personas visibles en la ventana generada por el ` Método de base On Startup If (OK # 0) $Mensaje:=Request("Mensaje:") ` mensaje If (OK # 0) EXECUTE ON CLIENT($Destinatario;"Mostrar_Mensaje";$Mensaje) ` Enviar mensaje End if End if
5. Este es el método Mostrar_Mensaje:
C_TEXT($1) ALERT($1)
6. Finalmente, este método permite a un puesto cliente no ser visible para los otros clientes 4D y no recibir más mensajes:
UNREGISTER CLIENT
Ver también
EXECUTE ON CLIENT, GET REGISTERED CLIENTS, UNREGISTER CLIENT.
Variables y conjuntos sistema
Si el cliente 4D está registrado correctamente, la variable sistema OK es igual a 1. Si 4D Client ya fue registrada, el comando no hace nada y OK toma el valor 0.