4D Internet Commands v14

TCP_Listen

Accueil

 
4D Internet Commands v14
TCP_Listen

TCP_Listen 


 

TCP_Listen ( adresseIP ; portDistant ; portLocal ; timeOut ; tcp_ID ) -> Résultat 
Paramètre Type   Description
adresseIP  Chaîne in Adresse IP locale d'écoute ou "" pour écouter sur toutes les adresses disponibles
in Adresse IP distante utilisée (si une variable contenant une chaîne vide est passée)
portDistant  Entier in *** Paramètre ignoré ***
portLocal  Entier in Numéro de port local, 0 = Utiliser un port local vacant
in Numéro du port local utilisé (si 0 passé)
timeOut  Entier in Nombre de secondes à attendre avant timeout, 0 = Pas de timeout
tcp_ID  Entier long in Référence de la session TCP ouverte
Résultat  Entier in Code d'erreur

La commande TCP_Listen ouvre une "socket" de communication sur le port défini par les paramètres adresseIP et portLocal.

Cette commande ne rend pas la main à la méthode d'appel de 4D tant que la connexion n'a pas été ouverte ou que la période de timeOut ne s'est pas écoulée. L'exécution de TCP_Listen peut donc provoquer temporairement le blocage de la base. Toutefois, cette commande est particulièrement adaptée au multi-process : elle partage le temps CPU avec les autres process 4D en cours d'exécution.
Il est donc conseillé d'exécuter TCP_Listen au sein d'un process 4D particulier (en particulier si aucun timeOut n'est spécifié).

Le paramètre adresseIP contient l'adresse IP utilisée pour la connexion:

  • Vous pouvez passer l'adresse locale sur laquelle doit être effectuée la connexion entrante.
  • Si vous passez une chaîne vide, la commande écoute sur toutes les adresses disponibles de la machine.
  • Si vous passez une variable contenant une chaîne vide, la commande retournera en outre dans le paramètre l’adresse IP distante utilisée pour la connexion.

Le paramètre portLocal contient le numéro de port TCP à utiliser pour la communication. Si vous passez 0 (zéro), la commande utilisera un port vacant et retournera son numéro dans ce paramètre.

Le paramètre timeOut spécifie le nombre maximum de secondes pendant lequel la commande attendra une connexion entrante. Si vous passez 0 (zéro), la commande attendra indéfiniment la connexion (pas de timeout). Utilisez cette option avec précaution car le contrôle n'est pas restitué au process d'appel 4D si aucune connexion n'est effectuée. En particulier, ne passez pas 0 dans ce paramètre si la base est mono-process.

Le paramètre tcp_ID retourne la référence de la session ouverte. Cette référence sera utilisée par toutes les commandes TCP ultérieures exécutées dans la session.

Toute connexion TCP ouverte par la commande TCP_Listen doit être finalement refermée à l'aide de la commande TCP_Close.

Exemple  

 C_ENTIER LONG(vTCPID)
 C_ENTIER(vStatus)
 $err:=TCP_Listen("";0;0;30;vTCPID)
 $err:=TCP_State(vTCPID;vStatut)
 Si(vStatut=2) `La socket est ouverte et à l'écoute
    FaireQuelqueChose
    $err:=TCP_Close(vTCPID)
 Fin de si

 
PROPRIÉTÉS 

Produit : 4D Internet Commands
Thème : IC TCP/IP
Numéro : 88932
Nom intl. : TCP_Listen

 
HISTORIQUE 

Modifié : 4D Internet Commands 6.8.1

 
VOIR AUSSI  

Annexe B, Numéros des ports TCP
TCP_Open
TCP_State

 
UTILISATION DE L'ARTICLE

4D Internet Commands ( 4D Internet Commands v11.4)
4D Internet Commands ( 4D v13.2)
4D Internet Commands ( 4D Internet Commands v12.1)
4D Internet Commands ( 4D Internet Commands v14 R2)
4D Internet Commands ( 4D Internet Commands v14)
4D Internet Commands ( 4D Internet Commands v14 R3)
4D Internet Commands ( 4D Internet Commands v14 R4)