![]() |
Socket auslesen?
Hi,
ich habe eine allgemeine Frage, d.h ich beziehe es auf keine Komponente wie TClientSocket oder so. Also ich fange mal an: Wie "benutzt" man einen Client richtig? Ich habe es z.Z ca so:
Code:
So... das Problem dass ich jetzt habe ist, dass diese Endlosschleife dafür sorgt, dass ich eine 100%ige CPU-Auslastung habe. Wie kann ich das ändern? Ich hatte auch schon ein Select() davor:
while (tcpClient.Connected) // Eine Endlosschleife, bis die Verbindung halt geschlossen wird
{ // Hier steht eine Funktion mit der ich Daten des Sockets auslese }
Code:
try
{ Socket.Select(sockList, null, null, 1000); } catch (ArgumentNullException ANE) { Console.WriteLine(ANE.Message); } Da ich gehört habe, dass diese Methode das Problem lösen sollte...nur ändert das irgendwie gar nichts. Wie kann ich eine Endlosschleife haben, ohne 100% CPU usage zu haben? |
Re: Socket auslesen?
Hi Pseudo-Schildkröte. :hi:
Bei mir hat
Code:
geholfen.
System.Threading.Thread.Sleep(1);
|
Re: Socket auslesen?
Zitat:
Nehme mal an, dass dudie Delphi-Komponente meinst, wegen dem T, aber wie "beziehen auf"? Zitat:
Grüße Faux |
Re: Socket auslesen?
Danke, das funzt perfekt mit Sleep :)
EVents wären besser, stimmt, aber mein Prog muss auch unter Linux(Mono) lauffähig sein ;). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz