Webstatt.org - Community seit 2006 - 2012 (2024?)

Schnittstelle

user-220
26.04.2009 12: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. traurig

user-303
26.04.2009 14:25

Hallo,

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

user-220
26.04.2009 17: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. Fettes Grinsen
Oder ich hab noch nicht ganz meine Linie zur Umsetzung gefunden, wie ich es machen möchte. traurig

user-303
26.04.2009 18: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.

user-220
26.04.2009 20:46

Fein!..

sowas in der Richtung hatte ich mir auch gedacht, aber bin nicht auf die Idee mit dem String gekommen. Fettes Grinsen - 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...

user-303
27.04.2009 09: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.