Entwickler-Ecke
Internet / Netzwerk - Netzwerkprogrammierung mit Indy
Niko S. - Sa 20.02.10 13:18
Titel: Netzwerkprogrammierung mit Indy
Hallo Delphianer,
Ich hab da mal ein paar fragen zur Netzwerkprogrammierung speziell mit Indy.
Und zwar habe ich mir mal das Tutorial von Narses zu gemüte gezogen (Term char protokoll) und dort werden ja die normalen Sockts verwendet.
Nun bietet Indy hat im IdTCPServer dieses sogenannte Multithreading an.
Meine Frage dazu wäre, wie ich mir das vorstellen müsste, wie das dort gehandhabt wird.
Ich hatte mir schon mal einiges zur Threadprogrammierung durchgelesen aber ich bin dann doch eher von dem Thread-Objekt überzeugt, dass das
vollkommen ausreicht für meine Zwecke.
Nun standen da auch immer Kommentare drin, wie z.B. 16 Threads für nen Single CPU ist Obergrenze.
Nun wie soll ich dass dann mit Indy verstehen, wenn da 100 User connecten und die alle nen Thread haben?!
Könnte mir vielleicht einer erklären wie ich das Handhaben muss? Vielleicht anhand eines Codebeispieles, und vorallem
wie das nun ist mit den Threads ob ich dann bei 100 User wirklich 100 Threads haben kann?
Gruß Niko
jaenicke - Sa 20.02.10 13:26
Diese Obergrenze der Threadanzahl ist gemeint als sinnvolles Maximum an aktiven Threads. Denn bei einem Prozessor und einer größeren Anzahl rechnender Threads nimmt natürlich der Aufwand für die Verteilung der Rechnerleistung immer mehr von der eigentlichen Prozessorleistung weg.
Wenn jetzt aber 100 Benutzer verbunden sind, dann tauschen diese vermutlich nicht exakt gleichzeitig Daten aus (sonst gäbe es ja vermutlich auch ein Problem mit der Bandbreite). Und wenn dann 100 Threads existieren, aber die meisten gerade nix tun, dann geht das sehr gut.
Wie das jetzt bei Indy genau geregelt ist, weiß ich nicht.
Niko S. - Sa 20.02.10 13:51
Aber arbeitet nicht so ein Thread den code einmal durch und dann wird er wieder beendet?
Ich kann zwar noch ne Public funktion einführen, dass er nun wieder den Code ausführen soll, aber im Debugger steht ja, dass der Thread beendet wurde, d.h. es ist doch gar kein Thread mehr vorhanden und der Code wird im Main Thread ausgeführt oder irre ich mich da?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!