AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi WebSite von Server zum Client "pushen" (CGI Script)
Thema durchsuchen
Ansicht
Themen-Optionen

WebSite von Server zum Client "pushen" (CGI Script)

Ein Thema von tini · begonnen am 11. Sep 2003 · letzter Beitrag vom 18. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
tini

Registriert seit: 13. Aug 2003
16 Beiträge
 
#1

WebSite von Server zum Client "pushen" (CGI Script

  Alt 11. Sep 2003, 15:56
Hi @ all!

Ich hab ein Problem: Ich möchte gerne eine Seite zum Client senden obwohl kein Request erfolgt ist. D.h. der Client sendet schon ein Request zur Datenbankabfrage zum Server.
Diese dauert u.Umständen aber sehr lang, und in dieser Zeit soll zum Client ein Seite mit Sanduhr oder ähnlichem gesendet werden, bis DB Abfrage fertig ist.

Kennt sich da jemand aus?

thanx, tini
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 11. Sep 2003, 16:23
Moin tini,

ich hab' jetzt zwar schon länger kein CGI Programm mehr erstellt, aber wer hindert Dich daran, statt der Seite mit den angeforderten Daten erst einmal eine "Bitte warten" Seite abzuschicken, und später dann die mit den Daten.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 11. Sep 2003, 17:13
Zitat von tini:
Ich hab ein Problem: Ich möchte gerne eine Seite zum Client senden obwohl kein Request erfolgt ist. D.h. der Client sendet schon ein Request zur Datenbankabfrage zum Server.

Das versteh ich nicht: Du willst einem HTTP-Clienten etwas schicken, obwohl der gar nichts von dir will? Das wird der Client nie verarbeiten, außerdem, woher weißt du dessen IP?
Ich glaub, ich versteh dein Problem nicht ganz
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#4

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 11. Sep 2003, 17:15
Das geht, ganz sicher, ich habe einen Chat, der macht genau das: der reloaded nicht immer so, wie es die normalen tun, sondern sendet erst an die User einen Befehl zum reloaden, wenn wirklich Daten da sind!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 11. Sep 2003, 17:16
Moin Chewie,

Zitat von tini:
D.h. der Client sendet schon ein Request zur Datenbankabfrage zum Server.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 11. Sep 2003, 17:43
Tut mir leid, jetzt versteh ich gar nix mehr.
Ein Webserver schickt soll einem Client eine Seite senden, obwohl der Client keine Anfrage geschickt hat. Nun wurde aber doch eine Anfrage geschickt

Na ja, solange du es verstehst, Chris, iss ja alles gut
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 11. Sep 2003, 18:04
Moin Chewie,

ein Client ruft ein CGI Programm aufgerufen, dass Daten aus einer Datenbank abfragt, und diese dann, vermutlich aufbereitet, in Form einer HTML Datei an den Client zurückschickt.
Da diese Datenbankabfrage wohl etwas dauern kann möchte tini nun wissen, ob man zwischendurch auch eine andere HTML Datei zurückschicken kann.

Soweit das, was ich aus tinis Frage heraus verstanden habe.

Na ja, meine Antwort dazu steht ja schon da
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
tini

Registriert seit: 13. Aug 2003
16 Beiträge
 
#8

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 12. Sep 2003, 09:07
Hi!

Christian schreibt:

Zitat:
wer hindert Dich daran, statt der Seite mit den angeforderten Daten erst einmal eine "Bitte warten" Seite abzuschicken, und später dann die mit den Daten.
Genau das habe ich ja vor, bloß erfolgt nach der "bitte warten" seite kein weiters Request des Clients und nun weiß ich nicht, wie man die Seite dann trotzdem sendet. (via IP Adresse des Clients, Cookie, ...?).
oder über <head><meta http-equiv="expires"...> im html Teil?

@Chewie:

Die IP Adresse des Clients bekomm ich ohne weiteres durch das CGI Script.
Zb:
IP:= Request.RemoteAddr; Und wie Christian schont schrieb, möchte ich, da die Datenbankanfrage länger dauert, eine "Bitte Warten" Seite "einschieben", bis das Ergebnis da ist-sonst denkt der User, das Programm hat sich aufgehängt oder so.

mfg
tini
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#9

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 12. Sep 2003, 10:17
Soweit mir bekannt ist, gibt es keine möglichkeit, das übers "pushen" zu lösen...

Viele Seiten die scheinbar so was machen, realisieren das über einen Trick:
Es wird eine halbe Seite zum Client gestreamt, mit einem Layer (in dhtml) z.B. der Anzeigt "Bitte warten - Daten werden sortiert". Der Server (bzw. das CGI-Script darf dabei aber die Verbindung zum Client nicht beenden.
Wenn die langwierige Verarbeitung auf dem Server abgeschlossen ist, gibt das CGI-Script zunächst etwas JavaScript aus, das den "Bitte warten..."-Layer abschaltet und danach die restliche Seite ausgibt.

Im Moment habe ich dazu kein konkretes Beispiel an der Hand, aber mit ein bisschen gesuche... *g*


Gruß

Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#10

Re: WebSite von Server zum Client "pushen" (CGI Sc

  Alt 12. Sep 2003, 10:31
Ein kleines Beispiel zu meinem Denkansatz aus einem Usercomment in der PHP-Dokumentation...

Schritt 1, vor der langwierigen Datenbankoperation:
Zitat:
the part that you want to show during the 'processing' has to be embedded in a SPAN tag like so:

echo "<span id=\"processing\">analysing data...</span>";
flush();
Schritt 2, nach der dicken Datenbankoperation...
Zitat:
then the long calculations will follow, after a few seconds you then simply send:

echo "<script>processing.style.display='none'</script>";

taadaa, and the part within the SPAN tags will disappear.
Ich denke, das sollte so auch ohne weiteres auf Delphi übertragbar sein.

Gruß

Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz