Willkommen in der Webstatt Zum Webstatt Blog und Stories
Kevz am 26.04.09 14:46

Servus zusammen,

ich habe ein kleines Problem - ich habe einen Client, der zum eigentlichen Server verbindet. Soweit geht es, es werden Daten übermittelt und können auch von dort geholt werden.
Doch besteht jetzt das Problem das ich eine Art "Session" aufrecht erhalten lassen möchte, mir fehlt ehr der Denkanstoß zur Umsetzung... Denn mir geht es darum, das sich die User mit dem Client einloggen können und die Daten vom Account abrufen können, jetzt wollte ich aber sowas in der Richtung wie eine Art "session timeout" einbauen, um somit also auch die User z.B. nach einer gewissen Zeit kicken zu können, oder einfach zu Überprüfen ob der User überhaupt eingeloggt ist, wenn er bestimmte Daten abrufen will...


Wie gesagt, das übermitteln der Daten funktioniert perfekt sowie das abrufen und darstellen auch. Es hapert jeweils nur an der Umsetzung mit dem Session Handling.. =/

Bitte um Ratschläge. :(

netcup.de Warum gibt es hier Werbung?
Snake am 26.04.09 16:25

Hallo,

kannst du nochmal sagen, wo genau das Problem ist?
Das Session System von PHP hat schon von alleine ein Timeout.

Kevz am 26.04.09 19:19

Aaalso..

ich habe einen Zentralenserver - dort sind Datengespeichert, die von dem Client (der Schnittstelle) ausgelesen werden können. Das Funktioniert soweit auch ganz gut.

Es stellt sich aber nun das Problem, daß ich ein Session-System selbst auf dem Zentralserver habe - die User können sich ja dort Einloggen - funzelt auch. Ich möchte aber anhand des Zentralservers eine Art "timeout" schicken, wenn der User eine bestimmte Zeit inaktiv ist. Das Übermitteln an den Server stellt auch kein Problem.


Das eigentliche Problem im ganzen ist, daß die Daten ja nur übermittelt werden sollen - vom Zentralserver - wenn der User auch noch Aktiv ist. Nur ich muss ja dann zu jedem Seitenaufruf vom Client eine Anfrage an den Server schicken, damit der "timeout" nicht eingreift. Aber dafür muss der User sich ja immer wieder aufs erneute verifizieren bzw. einloggen - und genau das will ich ja mit einer Art "Session" handhaben. Das genau das nicht immer wieder aufs erneute notwendig ist.


Aber wohl ehr habe ich gerade ein starkes Denkproblem, was die Umsetzung betrifft. :D
Oder ich hab noch nicht ganz meine Linie zur Umsetzung gefunden, wie ich es machen möchte. :-(

Snake am 26.04.09 20:06

Nunja, den Server zu pollen, damit der die Session nicht verliert, ist eine denkbar schlechte Möglichkeit. Du erzeugst damit unnötig Serverlast.

Speicher dir doch einfach in der Datenbank eine eindeutige Identifizierung jedes Clients (einfach en riesen Zufallsstring).
Nach dem Einloggen überträgst du diese Identifizierung zum Client. Bei jeder weiteren Anfrage kann sich der Client jetzt mit dem am Server anmelden.

Kevz am 26.04.09 22:46

Fein!..

sowas in der Richtung hatte ich mir auch gedacht, aber bin nicht auf die Idee mit dem String gekommen. :D - Wie sieht es denn mit der Performance bei sowas aus, wäre sowas nicht sehr Serverlastig? Und welche Methode sollte man bei sowas bevorzugen??

Ich habe mich derzeit mit cURL angefreundet und hatte es zuvor auch getan - bin ehr davon Positiv angetan, weil es schnell ist, und auch einfach vom Handling. Doch stellt ja noch die Option mit fsocken, nur um das im vergleich schneller ist, oder ehr relevant für die Nutzung wäre Interessanter...

Snake am 27.04.09 11:36

Serverlastmäßig müsstest du testen, aber es wird wohl besser so sein, anstatt die ganze Zeit unnütz den Server zu kontaktieren...

Ob cURL oder fsock is wohl sehr eine frage der Anwendung. cURL verwende ich z.b. nur bei Scripten, die niemals meine Server verlassen, da man einfach nicht sicher gehen kann, dass cURL überall verfügbar ist.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt