TCP_ReceiveBLOB

4D - Documentation   Français   English   German   Japanese   Commandes Internet de 4D, Sommaire   Commandes Internet de 4D, Index   Retour   Précédent   Suivant

version 6.7


TCP_ReceiveBLOB (tcp_ID; donnéesReçues) Entier

ParamètreTypeDescription
tcp_IDEntier longRéférence à une session TCP ouverte
donnéesReçuesBLOBBLOB devant recevoir les données
RésultatEntierCode d'erreur

Description

La commande TCP_ReceiveBLOB permet de recevoir des paquets de données au cours d'une session TCP. Son fonctionnement est semblable à celui de la commande TCP_Receive, à la différence près qu'elle reçoit des données de type BLOB au lieu d'un texte. Ce principe permet de s'affranchir de la limite des 32 000 caractères inhérente aux données de type Texte, et de recevoir des données binaires.

Passez dans tcp_ID la référence d'une session TCP ouverte avec la commande TCP_Open ou TCP_Listen.

Le paramètre donnéesReçues retourne les données reçues dans un BLOB.

Lors de la réception de données par paquets TCP, vous ne pouvez pas avoir la certitude que la totalité des données ont été reçues via un seul appel à TCP_ReceiveBLOB. La commande TCP_ReceiveBLOB est donc généralement utilisée dans une boucle du type Repeter...Jusque qui vérifie en permanence le statut de la connexion ou attend une valeur particulière.

Exemple

Voici la structure type d'une méthode utilisant la commande TCP_ReceiveBLOB :

   C_BLOB($Blob_Reçu;$Blob_Concaténé)
   C_ENTIER LONG($srcpos;$dstpos)
   Repeter 
      $Err:=TCP_ReceiveBLOB ($TCP_ID;$Blob_Reçu)
      $Err:=TCP_State ($TCP_ID;$State)
      $srcpos:=0
      $dstpos:=Taille BLOB($Blob_Concaténé)
         `Concaténation des données reçues
      COPIER BLOB($Blob_Reçu;$Blob_Concaténé;$srcpos;$dstpos;Taille BLOB($Blob_Reçu)) 
   Jusque (($State=0) | ($Err#0))

Référence

TCP_Listen, TCP_Open, TCP_Receive, TCP_SendBLOB.


4D - Documentation   Français   English   German   Japanese   Commandes Internet de 4D, Sommaire   Commandes Internet de 4D, Index   Retour   Précédent   Suivant