Hallo!
Ich denke diese Frage wurde schon einmal gestellt, aber ich habe trotz langem Suchen nichts dazu finden können.
Das Problem ist simpel: Ich habe da in einem Thread Folgendes:
IdTCPClient1.ReadLn('', 5, -1);
Das ganze soll zum Empfangen der (Chat)Nachrichten dienen.
Wenn der Server eine Nachricht sendet, dann ist alles OK. Nur wenn gerade keine Nachricht da ist, dann kehrt die Funktion nicht zurück (bzw. erst wenn eine Nachricht kommt).
Es stört mich, weil derselbe Thread auch zum Verschicken der Nachrichten gebraucht wird und deshalb eben das Versenden blockiert ist.
Bis jetzt habe ich das Problem gelöst, indem ich vom Server jede Sekunde (mittels Timer) eine Art "Keep Alive" Signal zum Client gesandt habe.
Aber diese Lösung finde ich äußerst "unelegant". Weiß jemand eine Lösung, oder muss ich bei meiner bleiben?
mfg
EConvertError
PS: Ich arbeite mit
Indy.
Andreas N.