![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Tag, nun, ich weiß ja dass das komplette HTTP und Server getue statuslos ist, und somit sog. Event-Handler nicht realisiert werden können, dafür gibts ja dann Java und Co. Nun wäre so ein onEvent aber ganz interessant in PHP, gibt es irgendein workarount dafür? Das ganze zielt auf ein Client onEvent-Handler hin, d.h. das Script tut nichts solange vom Client nichts kommt. Trudelt ein Request ein (in dem Fall eine vom User geschriebene Nachricht), merkt das Script dies und fäng eben zu arbeiten an. Ziel ist, dass das Script zwar läuft und auch bestimmte Aktionen durchführt - aber erkennt, sobald ein User etwas schreibt, also quasi darauf wartet. Wäre soetwas über sockets möglich? (habe da mal was von einem Socket-listener gehört)?
__________________ http://www.ChrisDiary.De |
| | |
| | Nach oben #3 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Achja, javascript hatte ich vergessen zu erwähnen. Das möchte ich aber nich aus Kompatibilitätsgründen bzw man kann das ja abschalten. Wie sockets helfen sollen weiß ich nich genau, kann man die nicht irgendwie hören lassen (listen)?
__________________ http://www.ChrisDiary.De |
| | |
| | Nach oben #4 |
| Master of Disaster Registriert seit: 18.08.2005 Ort: Duisburg
Beiträge: 36
|
Schau dir doch mal einen in PHP geschriebenen IRC-Bot an. Der macht doch eigentlich auch nichts anderes, als auf eine bestimmte Aufgabe warten. Wenn ich mich nicht täusche hört der die ganze Zeit auf einen bestimmten Port. Gruß Matthias
__________________ |
| | |
| | Nach oben #5 | ||
| Gast
Beiträge: n/a
|
Das ganze ist __serverseitig__ ! Um auf Ereignisse, die im Browser ablaufen reagieren zu können, benötigst du eine clientseitige Technologie. Zitat:
Wer noch immer glaubt JavaScript sei was für Scriptkiddies und Unwissende, hat das Web IMO nicht verstanden. EDIT: Btw: Zitat:
Eventhandler können schon realisiert werden, nur eben nicht clientseitig sondern serverseitig. Jay Geändert von Jay (01.07.2006 um 20:25 Uhr) | ||
|
| | Nach oben #6 |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 540
|
das geht schon, dann musst du dein php script halt als applikation auf dem server laufen lassen und inner endlosschleife auf socket connections warten. aber da fehlt imho komplett der sinn dahinter - für sowas gibt es weitaus bessere lösungen
__________________ Weißt Bescheid - Scheiß wie weit |
| | |
| | Nach oben #7 | ||
| Gast
Beiträge: n/a
| Zitat:
Ansonsten zeig doch mal ein Codebeispiel, mit serverseitigen Code und dem kompletten Output. EDIT: Zitat:
Jay | ||
|
| | Nach oben #8 |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 540
|
also irgendwie gibts hier glaub ich ein vertändisproblem... *g* @chris geht es dir jetzt darum, dass ein php script auf benutzeraktionen reagiert oder (wie ich das zuerst gedacht hab) darum, dass du ein persistentes script haben möchtest, das auf http requests reagiert??? benutzeraktionen können ganz einfach über javascript gemacht werden, wenn das jemand deaktiviert hat, hat er halt pech gehabt! ansonsten kann man manche aktionen auch über iframes als request an den server abschicken, aber das geht auch nicht wirklich gut.
__________________ Weißt Bescheid - Scheiß wie weit |
| | |
| | Nach oben #9 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Genau, ich möchte ein persistentes Script haben welches auf einen HTTPREquest reagiert, welches quasi im Hintergrund darauf "wartet". Wobei ich hier halt wirklich mit der Client-Server-Architektiv in den erwarteten Clinch komm..
__________________ http://www.ChrisDiary.De |
| | |
| | Nach oben #10 | |
| Gast
Beiträge: n/a
|
1. Was ist ein peristentes Script? Zitat:
Ein Script kann nicht "warten". Es kann ausgeführt werden und fertig. | |
|
| | Nach oben #11 | |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
| Zitat:
__________________ http://www.ChrisDiary.De | |
| | |
| | Nach oben #12 |
| Erfahrener Benutzer Registriert seit: 28.08.2004 Ort: konstanz am bodensee
Beiträge: 190
|
ein persistentes script kannst du mit der verwendung von sessions erreichen. du musst einfach den aktuellen zustand des scriptes in der session oder auch in einer db speichern und beim erneuten aufruf wiederherstellen. somit hast du ein persistentes script. das geht auch ohne javascript, nur muss bei jedem ereigniss die seite neu geladen werden. wenn man nicht gerade gegen javascript ist benutzt man für sowas ajax, aber es geht auch ohne. vieleicht solltest du mal genauer erleutern was du überhaupt machen willst. dann wird sich auch eine lösung finden... ein script mit einer endloßschleife einen socket oder eine db abfragen ist reine resourcenverschwendung und wird bei den meisten shared hostern auch nicht funktionieren, da diese die max_execution_time limitieren. |
| | |
| | Nach oben #13 | |||
| Gast
Beiträge: n/a
| Zitat:
Weil man könnte natürlich die Seite andauernd aktualisieren lassen, aber wie Chr!s ja geschrieben hat will er, dass eine Aktion ausgeführt wird sobald der User etwas schreibt. Und das geht nunmal nur clientseitig. Serverseitig könnte man das auch net mit Sockets oder sonst noch was realisieren. Praktisch unmöglich! EDIT: Zitat:
Zitat:
Geändert von Jay (01.07.2006 um 23:39 Uhr) | |||
|
| | Nach oben #14 |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.203
|
das problem ist doch, dass ich OHNE Javascript, vorhandene Ausgaben nicht löschen oder verändern kann, es wächst alles immer nach unten weiter, was ich doch recht unschön finden würde |
| | |
| | Nach oben #16 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.512
|
Weil Chr!s so darauf beharrt, denke ich, dass hier ein Missverständnis vorliegt, oder? Jay hat ja komplett Recht, aber das sollte auch jedem hier bewusst sein. Ein Skript wird aufgerufen, ausgeführt, beendet. Da ist in der Mitte keine Spanne drin, in der man auf "Events" reagieren kann. Was genau willst du also machen? |
| | |
| | Nach oben #17 | ||
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 540
| Zitat:
da eine http verbindung immer vom client ausgeht und ne einfache endlosschleife in nem scipt zwecks timeout nicht möglich ist, muss der reload schon vom browser ausgehen dazu kann man entweder javascript oder das meta-element refresh verwenden (ggf in kombiantion mit nem iframe), und dann zb alle 10 sekunden den server nach veränderungen fragen. aber es ist mit http definitiv nicht möglich, auf eine datenbankveränderung hin, diese neuen daten an evt eingeloggte user oder so zu schicken. um sowas zu verwirklichen brauchst du schon einen anderen client, der auch serverfunktionen hat also auf datensendungen vom server reagieren kann.
__________________ Weißt Bescheid - Scheiß wie weit | ||
| | |
| | Nach oben #18 | |
| Gast
Beiträge: n/a
| Zitat:
| |
|
| | Nach oben #19 | ||
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 540
| Zitat:
durch diese abfragen erreicht man zwar, dass veränderungen in der datanbank auch im browser aktualisiert werden (nach ner gewissen zeit), aber der server informiert eingloggte clients nicht automatisch über veränderungen.
__________________ Weißt Bescheid - Scheiß wie weit | ||
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHP 5.2 Kompilierung schlägt fehl | Byrel | Tools, Server, Betriebssysteme | 0 | 03.11.2006 21:09 |
| [Rezension] PHP 5 Kochbuch | Artemis | Literatur | 2 | 07.09.2006 19:15 |
| PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht | Ben | Nachrichten | 2 | 01.09.2006 16:05 |
| PHP 5.1 ist drausen | robo47 | Nachrichten | 5 | 28.11.2005 20:30 |
| Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 | Ben | Nachrichten | 1 | 21.11.2005 20:48 |