Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
TCP_ReceiveBLOB
|
TCP_ReceiveBLOB ( tcp_ID ; datosRecibidos ) -> resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
tcp_ID | Entero largo |
![]() |
Referencia de una sesión TCP abierta | |||||
datosRecibidos | BLOB |
![]() |
BLOB para recibir los datos | |||||
resultado | Entero |
![]() |
Código de error | |||||
El comando TCP_ReceiveBLOB recibe paquetes de datos a través de una sesión TCP.
Este comando funciona igual que el comando TCP_Receive, con la diferencia de que recibe datos en un BLOB en lugar de un texto, permitiendo superar el límite de 32K de los datos de tipo texto y recibir objetos binarios.
tcp_ID es una referencia entero largo a una sesión TCP abierta con el comando TCP_Open o TCP_Listen.
blobARecibir es el BLOB que recibe los datos. Al recibir datos a través de paquetes TCP, no puede contar con que todos sus datos sean recibidos por una sola llamada TCP_ReceiveBLOB. El comando TCP_ReceiveBLOB se suele llamar dentro de un bucle Repeat...Until que verifica continuamente el estado de la conexión o busca un valor particular.
Este ejemplo muestra la estructura típica de un método que utiliza el comando TCP_ReceiveBLOB:
C_BLOB($Blob_Received;$Blob_All)
C_LONGINT($srcpos;$dstpos)
Repeat
$Err:=TCP_ReceiveBLOB($TCP_ID;$Blob_Received )
$Err:=TCP_State($TCP_ID;$State)
$srcpos:=0
$dstpos:=BLOB size($Blob_All)
`Concatenating received Blobs
COPY BLOB($Blob_Received;$Blob_All;$srcpos;$dstpos;BLOB size($Blob_Received))
Until(($State=0)|($Err#0))
Producto: 4D
Tema: IC TCP/IP
Número
88887
Creado por: 4D Internet Commands 6.7
4D Internet Commands ( 4D v20 R7)