Tom: $_SESSION wird nicht "ge-unset-tet"

Beitrag lesen

Hello,

tja, so ist das. Mit AJAX muss man zunächst Probleme lösen, die man ohne AJAX nicht gehabt hätte.

Die asynchronen Requests stellen untereinader aber auch zum Hauptrequest eine wunderbare Racecondition dar. Sie konkurrieren also um die Ressourcen.

Sessiondateien werden mit session_start() geöffnet, wenn nicht vorhanden angelegt und dann solange gesperrt, wie die Connection besteht. Da wäre nun erstmal die Frage, ob sie bei HTTP 1.1 schon wieder geschlossen werden, wenn der User noch "in der Seite steht". Rein empirisch betrachtet müssen sie das aber, weil man sonst an jeder Ecke von den Problemen lesen würde.

Sie werden aber gewiss solange offengehalten und gesperrt, wie die Abarbeitung des Requests dauert. Wenn da nun währenddessen noch ein zweiter kommt, muss der warten.

Aus Serversicht ist es übrigens egal, ob der Request mittels "normalem" GET, POST oder Ajax erstellt worden ist.

Du musst also eine Möglichkeit finden, die Requests zu queuen. Dazu dürfen sie auch nicht zu dicht nacheinander folgen. Es gibt hier sogar jemanden im Forum, der meint, dass ein Ajax-Request den anderen überholen könnte, wenn sie zu dicht aufeinander gefeuert werden. Wenn der eine über China routet und der andere erst bei Obama den Haken abholen muss, dann weiß ich nicht, welcher länger unterwegs ist.

Deine Bastelei von oben kannst Du jedenfalls vergessen. Du brauchst nur einen "Fahrplan".

Liebe Grüße aus dem österlichen Chemnitz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bikers-lodge.com