IdUDPClient liegt auf einem Datenmodul welches mit
.Create(Nil);
erzeugt wird.
Also nein, es hat keinen Owner.
Das Senden mit IdUDPClient sieht so aus:
Delphi-Quellcode:
IdUDPClient.SendBuffer(MyDModul.IdUDPClient.Host,
MyDModul.IdUDPClient.Port,
ByteMsg);
Eine Prüfung genau an dieser Stelle auf "MainThreadID" und "GetCurrentThreadID" sagt auch, KEIN
VCL Kontext.
Das Thema mit den 250ms ist in dem Verarbeitungsthread, hat nichts mit dem Client-Thread zu tun! Das Thema sollten wir nicht weiter betrachten.
Richtig, dass Hauptproblem ist nach wie vor die hängende
VCL für ~ 7s.
Interessant ist, es sind wirklich immer ~ 7s, bei jedem Test.
Gibt es eine Möglichkeit, dass ich selber herausbekomme, was der
VCL Kontext/Thread gerade gemacht? Ich glaube nämlich nicht, dass das UDP Thema damit eine Rolle spielt. Ich kann es nur dadurch erzeugen, da ich damit so viele Threads gleichzeitig beende.