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 R8
TCP_ReceiveBLOB
|
TCP_ReceiveBLOB ( tcp_ID ; donnéesReçues ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
tcp_ID | Entier long |
![]() |
Référence à une session TCP ouverte | |||||
donnéesReçues | BLOB |
![]() |
BLOB devant recevoir les données | |||||
Résultat | Entier |
![]() |
Code d'erreur | |||||
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.
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))
Produit : 4D
Thème : IC TCP/IP
Numéro :
88887
Nom intl. : TCP_ReceiveBLOB
Créé : 4D Internet Commands 6.7
4D Internet Commands ( 4D v20 R8)