Der Martin: Nicht alles glauben!

Beitrag lesen

Hallo,

Genau, -> mehrere XHR Objekte laufen lassen. Jeder Request kriegt einen Tag als Parameter mit und auch die Response wird getagged (im HTTP-Header), damit die wieder zusammengeführt werden können (einfach durchnumerieren).

warum das? Jeder Request löst, wenn die Response irgendwann eintrifft, seinen eigenen onreadystatechange-Handler auf. Damit ist die Zuordnung schon eindeutig hergestellt.

Es ist jedoch so, dass die Browser, die ich da so schon getestet haben, stets auf die Response warten, bevor die einen neuen Request rausschicken.

Ich weiß nicht, was du getestet hast und unter welchen Bedingungen, vermute aber eher, dass die Browser sich hier einfach nur an das "Fair-Use"-Limit halten, das maximal 8 parallele HTTP-Requests vorsieht, davon maximal 2 von demselben Server.

Der wesentliche Unterschied zwischen parallel/seriell <=> asynchron ist, dass die Reihenfolge und die Ordnung der Datenpakete während der Übertragung aufgehoben ist.

Aber nicht die Reihenfolge der Datenpakete *eines* Requests bzw. der zugehörigen Response - abgesehen davon, dass das IP-Protokoll grundsätzlich aus keine feste Reihenfolge der Pakete garantiert, und diese Reihenfolge erst durch das darüberliegende TCP sichergestellt wird.
Asynchron heißt hier lediglich, der Request wird "irgendwann" gesendet, und die Antwort trifft "irgendwann" ein, während die Anwendung (hier: das Script) in dieser Zeit weiterläuft und sich anderen Tätigkeiten widmen kann. Asynchron heißt, dass das Zeitverhalten nicht vorhersagbar ist.

So funktioniert prinzipiell auch ADSL, die Synchronisation wird erst am Terminator wieder hergestellt.

Hä?

Ciao,
 Martin

--
Kopflosigkeit schützt nicht vor Migräne.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(