Mailinglisten-Archive | 
Stefan Krister wrote:
> > http://osiris.ifi.unizh.ch/pushpull.html , Anschnitt "Server-Pull"
> 
> wie macht das z.B. apollo7.de? Beim Netscape sehe ich die abgefragten
> Suchmaschinen, anschließend kommen die Treffer.
> 
> Beim IE jedoch, kommen die Treffer _ohne_ vorherige Suchmaschinen.
vermutlich Fallunterscheidung je nach $HTTP_USER_AGENT
> > Microsoft ignoriert diesen einfachen und eleganten Mechanismus
> > allerdings hartnäckig
> 
> So wie's aussieht, müssen sich die IE-User wohl damit begnügen, nichts
> zu sehen ...
> 
> Hat jemand einen Code-Ausschnitt für mich, wo sowas gemacht wird? Ich
> meine jetzt die Ausgabe beginnend links oben im leeren Browserfenster.
die Dokumentation im pushpull.html (s.o.) enthält doch ein
Code-Beispiel,
oder ? (OK, 's ist ein Shell-Script, kein PHP, aber so riesig werden die
Unterschiede doch nicht sein ...)
wem das allerdings zu knapp ist, kann hier eine Langfassung in PHP
bewundern:
<?
$is_multipart = false;
// unterstützt unser Browser Server-Push mit multipart/replace ?
// naiv, aber für den Anfang reichts
function have_multipart()
{
  global $HTTP_USER_AGENT;
  if(strstr($HTTP_USER_AGENT,"ozilla"))
    {
      if(strstr($HTTP_USER_AGENT,"MSIE"))       return false;
      if(strstr($HTTP_USER_AGENT,"compatible")) return false;
      return true;
    }
  return false;
}
// multipart-header ausgeben
function multipart_next($type="text/html")
{
  global $is_multipart;
  if($is_multipart!=true)
    {
      $is_multipart=true;
      header("HTTP/1.0 200");
      header("Content-type: multipart/x-mixed-replace;
boundary=MultipartDelimiter");
    }
  print "--MultipartDelimiter\n";  
  print "Content-type: ".$type."\n\n";
  flush();
}
function multipart_start($type="text/html")
{
  multipart_next($type);
}
function multipart_end()
{
  global $is_multipart;
  if($is_multipart)
    {
      print "\n\n--MultipartDelimiter--\n";
    }
  flush();
}
multipart_start();
echo "Hallo start\n";
multipart_next();
sleep(5);
for($i=1;$i<10;$i++) {
  echo "Fortsetzung $i von 10\n";
	multipart_next();
  sleep(5);
}
echo "das wars\n";
multipart_end();
?>
--
Hartmut Holzgraefe         hartmut_(at)_six.de           http://www.six.de
    php::bar PHP Wiki - Listenarchive