Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
TCP_ReceiveBLOB
|
TCP_ReceiveBLOB ( tcp_ID ; dadosRecebidos ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
tcp_ID | Inteiro longo |
![]() |
Referencia de uma sessão TCP aberta | |||||
dadosRecebidos | BLOB |
![]() |
BLOB para receber os dados | |||||
Resultado | Inteiro |
![]() |
Código de erro | |||||
O comando TCP_ReceiveBLOB recebe pacotes de dados através de uma sessão TCP.
Este comando funciona igual que o comando TCP_Receive, com a diferença de que recebe dados em um BLOB no lugar de um texto, permitindo superar o limite de 32K dos dados de tipo texto e receber objetos binários.
tcp_ID é uma referencia inteiro longo a uma sessão TCP aberta com o comando TCP_Open ou TCP_Listen.
dadosRecebidos é o BLOB que recebe os dados. Ao receber dados através de pacotes TCP, não pode contar com que todos seus dados sejam recebidos por uma só chamada TCP_ReceiveBLOB. O comando TCP_ReceiveBLOB é chamado algumas vezes dentro de um laço que verifica continuamente o estado da conexão ou busca um valor particular.
Este exemplo mostra a estrutura típica de um método que utiliza o 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)
`Concatenando Blobs recebidos
COPY BLOB($Blob_Received;$Blob_All;$srcpos;$dstpos;BLOB size($Blob_Received))
Until(($State=0)|($Err#0))
Produto: 4D
Tema: IC TCP/IP
Número
88887
Criado por: 4D Internet Commands 6.7
4D Internet Commands ( 4D v20 R7)