TsgcUDPCLient › 이벤트 › OnUDPRead

OnUDPRead 이벤트

피어로부터 수신 UDP 데이터그램이 수신될 때 발생합니다.

구문

property OnUDPRead: TsgcUDPReadEvent;
// TsgcUDPReadEvent = procedure(Sender: TObject; Socket: TsgcUDPSocket; Bytes: TsgcBytes) of object

기본값

—

설명

수신된 데이터그램마다 한 번 발생하며, Bytes 매개변수를 통해 원시 바이트를, 그리고 발신지 Socket(발신자의 PeerIP와 PeerPort를 노출함)을 전달합니다. 페이로드는 항상 바이트로 전달됩니다. 애플리케이션 프로토콜이 텍스트를 사용하는 경우 TEncoding으로 변환하십시오. 이 이벤트를 발생시키는 스레드는 NotifyEvents 속성에 따라 달라집니다. neAsynchronous는 백그라운드 큐를 통해 마샬링하고, neSynchronous는 Synchronize를 사용하며, neNoSync는 리더 스레드에서 직접 발생합니다. DTLS가 활성화된 경우, Bytes는 복호화된 일반 텍스트를 포함합니다.

예제

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;

이벤트로 돌아가기