4D Internet Commands v16

UDP Commands, Overview

Página Inicial

 
4D Internet Commands v16
UDP Commands, Overview

UDP Commands, Overview  


 

 

UDP (User Datagram Protocol) é um protocolo de comunicações que permite a transmissão de dados por pacotes. É mais fácil de implementar e mais rápido que o protocolo TCP (o cabeçalho UDP tem 8 bytes, em comparação com mínimo 20 bytes do cabeçalho TCP), mas não o mesmo nível de confiança. É útil para aplicações onde a velocidade de transmissão de dados é importante. No entanto, não verifica que os pacotes cheguem a seu destino e não oferece o sistema de controle de erros nem do sistema de recuperação.

Exemplo  

O seguinte exemplo utiliza o protocolo UDP para recuperar nos arrays a lista de servidores 4D ativos na rede local:

 ARRAY TEXT(255;asHost;0)
 ARRAY TEXT(32;asMachineName;0)
 ARRAY TEXT(32;asService;0)
 ARRAY TEXT(32;asDBName;0)
 C_BLOB($Blob)
 
 $Addr:="255.255.255.255"
 $Port:=19813
 $Offset:=32
 SET BLOB SIZE($Blob;96;0)
 TEXT TO BLOB("4D Server II";$Blob;Mac text without length;$Offset)
 
 $Err:=UDP_New(0;$udpID)
 $Err:=UDP_SendBLOBTo($udpID;$Addr;$Port;$Blob)
 $Secs:=5
 $Timeout:=Milliseconds+($Secs*1000)
 Repeat
    DELAY PROCESS(Current process;6) `... en tics
    SET BLOB SIZE($Blob;0;0)
    $PeerAddr:=$Addr
    $Err:=UDP_ReceiveBLOBFrom($udpID;$PeerAddr;$Port;$Blob)
 
    If(BLOB size($Blob)>0)
       $Offset:=0
       $Host:=BLOB to text($Blob;Mac C string;$Offset;32)
       $Offset:=32
       $Service:=BLOB to text($Blob;Mac C string;$Offset;32)
       $Offset:=64
       $DBName:=BLOB to text($Blob, C string;$Offset;32)
       $Pos:=Find in array(asMachineName;$Host)
       If($Pos=-1)
          APPEND TO ARRAY(asHost;$PeerAddr)
          APPEND TO ARRAY(asMachineName;$Host)
          APPEND TO ARRAY(asService;$Service)
          APPEND TO ARRAY(asDBName;$DBName)
       End if
    End if
 Until((Milliseconds>$Timeout)|($Err#0))
 $Err:=UDP_Delete($udpID)



Ver também 

Low Level Routines, Overview

 
PROPRIEDADES 

Produto: 4D Internet Commands
Tema: IC UDP

 
HISTÓRIA 

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)