Hallo Frank,
Zitat von
Mavarik:
Ja eben...bzw. nein
Blocking: Der Server startet für jede Verbindung einen eigenen Thread der in einer Endlosschleife wartet...
Nonblocking: Der Server kann sich mit sich selber beschäftigen, bis der entsprechende event diese Procedure aufruft.
wie immer entstehen ohne vorherige Begriffsbestimmungen die tollsten Missverständnisse. Ich beziehe mich auf Winsock 2 und du dich auf TSock. Ich kenne mehrere verschiedene socket i/o Techniken. Eine davon ist
blocking und ist über jeden Definitionszweifel erhaben. Die anderen sind alle non-blocking. Wiederum davon wird der trivialste Modus als
non-blocking bezeichnet (oft auch als
pure non-blocking) und auf diesen bezog ich mich in meinem Beitrag. Die restlichen Modi bedürfen weiterer Erklärungen.
Ich habe mir die
Unit TSock besorgt und mir den Code kurz angesehen. Ich komme zu dem Schluß, dass es sich um eine Implementierung von
asynchronous sockets handelt. Dabei sendet der protocol stack eine message (WM_SOCK), wenn sich was tut.
Die bloße Warnung vor dem
non-blocking mode in TSock ist vielleicht etwas ungeschickt, aber der Autor wollte wohl nicht zu sehr ins Detail gehen. Nach meinen Informationen bricht die server performance mit
asynchronous sockets recht bald ein.
Während ich hier schreibe habe ich im Netz einen wunderschönen Artikel von
Warren Young gefunden, der dir eine Klassifikation der unterschiedlichen i/o modes nahe bringt. Darüberhinaus geht er etwas tiefer auf die Wahl des richtigen Modus ein. Viel Spaß beim Studium.
Schönes Wochenende
marabu