4D v16.3

INSCRIRE CLIENT

Accueil

 
4D v16.3
INSCRIRE CLIENT

INSCRIRE CLIENT 


 

INSCRIRE CLIENT ( nomClient {; période}{; *} ) 
Paramètre Type   Description
nomClient  Chaîne in Nom de la session cliente 4D
période  Entier long in *** Ignoré depuis la version 11.3 ***
Opérateur in Process local

La commande INSCRIRE CLIENT “inscrit” un poste client 4D sous le nom nomClient auprès de 4D Server, afin de permettre que d’autres clients ou éventuellement 4D Server (par l’intermédiaire de procédures stockées) puissent y exécuter des méthodes à l’aide de la commande EXECUTER SUR CLIENT. Une fois inscrit, un client 4D peut donc exécuter une ou plusieurs méthodes pour le compte d’autres clients.

Notes :

  • Vous pouvez également inscrire automatiquement chaque poste client qui se connecte à 4D Server via l'option “Inscrire les clients au démarrage pour Exécuter sur client” dans la boîte de dialogue des Préférences (cf. manuel Mode Développement).
  • Lorsqu’elle est utilisée avec 4D en mode local, cette commande ne fait rien.
  • Plusieurs postes clients 4D peuvent avoir le même nom d’inscription.

A l’issue de l’exécution de la commande, un process, nommé nomClient, est créé sur le poste client. Ce process ne peut être détruit que par la commande DESINSCRIRE CLIENT .
Si le paramètre optionnel * est passé, le process créé est local (4D ajoute automatiquement le signe $ au nom du process). Sinon, il est global.

Note de compatibilité : Depuis la version 11.3 de 4D, les mécanismes de communication serveur/client ont été optimisés. Désormais, le serveur envoie directement aux clients inscrits les requêtes d'exécution lorsque c'est nécessaire (technologie "push"). Le principe précédent selon lequel les clients interrogeaient périodiquement le serveur n'est plus utilisé. Le paramètre période est ignoré lorsqu'il est passé.

Une fois la commande exécutée, il n’est pas possible de modifier “à la volée” le nom du client 4D. Pour cela, il est nécessaire d’appeler la commande DESINSCRIRE CLIENT puis d’exécuter à nouveau INSCRIRE CLIENT.

Exemple  

Les méthodes suivantes permettent de réaliser une petite messagerie entre les postes clients inscrits.

1. La méthode INSCRIPTION permet d’inscrire un client 4D et de le tenir prêt à recevoir un message de la part d’un autre client 4D :

  `Méthode INSCRIPTION
  `Il faut se désinscrire avant de s’inscrire sous un autre nom
 DESINSCRIRE CLIENT
 Repeter
    vNomPseudo:=Demander("Entrez votre nom :";"Utilisateur";"OK";"Annuler")
 Jusque((OK=0)|(vNomPseudo#""))
 Si(OK=0)
    ... ` Ne rien faire
 Sinon
    INSCRIRE CLIENT(vNomPseudo;*)
 Fin de si

2. L’instruction suivante permet de connaître les clients inscrits. Elle peut être placée dans la Méthode base Sur ouverture :

  ` Méthode base Sur ouverture
 PrListeClient:=Nouveau process("Liste_4DClients";32000;"Liste d'inscrits")

3. La méthode Liste_4DClients permet de récupérer tous les clients 4D inscrits et les personnes acceptant de recevoir des messages :

  ` Méthode Liste_4DClients
 Si(Type application=4D mode distant)
  ` Le code ci-dessous n’est valable qu’en mode client-serveur
    $Ref:=Creer fenetre(100;100;300;400;-(Fenêtre palette+Avec titre de fenêtre);"Liste d'inscrits")
    Repeter
       LIRE CLIENTS INSCRITS($ListeClient;$ListeCharge)
  `Récupération des clients inscrits dans $ListeClient
       EFFACER FENETRE($Ref)
       POSITION MESSAGE(0;0)
       Boucle($p;1;Taille tableau($ListeClient))
          MESSAGE($ListeClient{$p}+Caractere(Retour chariot))
       Fin de boucle
  `Afficher chaque seconde
       ENDORMIR PROCESS(Numero du process courant;60)
    Jusque(Faux` Boucle infinie
 Fin de si

4. La méthode Envoyer_Message permet d’envoyer un message à un autre client 4D inscrit.

  ` Méthode Envoyer_Message
 $Destinataire:=Demander("Destinataire du message :";"")
  ` Saisir le nom d'une des personnes visibles dans la fenêtre générée par la méthode base Sur ouverture
 Si(OK#0)
    $Message:=Demander("Message :") ` Contenu du message
    Si(OK#0)
       EXECUTER SUR CLIENT($Destinataire;"Afficher_Message";$Message` Envoi du message
    Fin de si
 Fin de si

5. La méthode Afficher_Message affiche le message sur le poste client :

  ` Méthode Afficher_Message
 C_TEXTE($1)
 ALERTE($1)

6. Enfin, cette méthode permet à un poste client de n’être plus visible par les autres clients 4D et ne plus recevoir de message :

  ` Méthode DÉSINSCRIPTION :
 DESINSCRIRE CLIENT

Si le poste client est correctement inscrit, la variable système OK prend la valeur 1. Si le poste était déjà inscrit, la commande ne fait rien et OK prend la valeur 0.



Voir aussi  

DESINSCRIRE CLIENT
EXECUTER SUR CLIENT
LIRE CLIENTS INSCRITS

 
PROPRIÉTÉS 

Produit : 4D
Thème : Process
Numéro : 648
Nom intl. : REGISTER CLIENT

Cette commande modifie la variable système OK

 
HISTORIQUE 

Modifié : 4D v11 SQL Release 3

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)