UDP (User Datagram Protocol) は実装が簡単なデータ送信プロトコルです。TCPに比べ高速でシンプルです (TCPの場合最低20バイトがヘッダに必要なのに対し、UDPは8バイトです) が、信頼性は提供されません。このプロトコルはデータが素早く送信先に到達することが重要なアプリケーションで使用できます。このプロトコルはデータ転送 検証やエラーチェック、送信されなかったデータの復元ができません。
この例題は、UDPコマンドを使用してローカルネットワークで実行されている4D Serverのリストを取得する方法を示しています:
  ARRAY TEXT(asHost;0)
 ARRAY TEXT(asMachineName;0)
 ARRAY TEXT(asService;0)
 ARRAY TEXT(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) 
    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;Mac 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)