Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
TCP_Listen
|
TCP_Listen ( adresseIP ; portDistant ; portLocal ; timeOut ; tcp_ID ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
adresseIP | Chaîne |
![]() |
Adresse IP locale d'écoute ou "" pour écouter sur toutes les adresses disponibles | |||||
![]() |
Adresse IP distante utilisée (si une variable contenant une chaîne vide est passée) | |||||||
portDistant | Entier |
![]() |
*** Paramètre ignoré *** | |||||
portLocal | Entier |
![]() |
Numéro de port local, 0 = Utiliser un port local vacant | |||||
![]() |
Numéro du port local utilisé (si 0 passé) | |||||||
timeOut | Entier |
![]() |
Nombre de secondes à attendre avant timeout, 0 = Pas de timeout | |||||
tcp_ID | Entier long |
![]() |
Référence de la session TCP ouverte | |||||
Résultat | Entier |
![]() |
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:
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.
C_ENTIER LONG(vTCPID)
C_ENTIER LONG(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
Produit : 4D
Thème : IC TCP/IP
Numéro :
88932
Nom intl. : TCP_Listen
Modifié : 4D Internet Commands 6.8.1
4D Internet Commands ( 4D v20 R7)