TsgcUDPCLient › Olaylar › OnUDPRead
Eşten gelen bir UDP datagramı alındığında tetiklenir.
property OnUDPRead: TsgcUDPReadEvent;
// TsgcUDPReadEvent = procedure(Sender: TObject; Socket: TsgcUDPSocket; Bytes: TsgcBytes) of object
—
Alınan her datagram için bir kez tetiklenir, ham baytları Bytes parametresi aracılığıyla ve göndericinin Socket'ini (göndericinin PeerIP ve PeerPort'unu sunan) geçirir. Yük her zaman bayt olarak teslim edilir; uygulama protokolü metin kullanıyorsa TEncoding ile dönüştürün. Bu olayı tetikleyen iş parçacığı NotifyEvents özelliğine bağlıdır: neAsynchronous bir arka plan kuyruğu aracılığıyla aktarır, neSynchronous Synchronize kullanır ve neNoSync doğrudan okuyucu iş parçacığında tetikler. DTLS etkinleştirildiğinde, Bytes şifresi çözülmüş düz metni içerir.
procedure TForm1.oClientUDPRead(Sender: TObject; Socket: TsgcUDPSocket;
Bytes: TsgcBytes);
begin
Memo1.Lines.Add(Format('From %s:%d -> %s',
[Socket.PeerIP, Socket.PeerPort, TEncoding.UTF8.GetString(Bytes)]));
end;