Habs nur ein bisschen umgebaut:
Delphi-Quellcode:
procedure TForm1.ServerUDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
begin
TThread.Synchronize( nil,
procedure
begin
setlength(Buffer,length(AData) );
move(AData,Buffer,length(AData) );
Do_Something;
end );
end;
Nun wird hier nur der Empfangsbuffer in einen lokalen kopiert und dann in "Do Something"
ausgewertet.
Sende ich was per UDP hält das Programm in der Zeile TThread.Sync... einmal an
und dann nie wieder