Google weiß alles: in einem Netzwerk vom Server aus Clients steuern

Beitrag lesen

Ich möchte senden, wenn es etwas Neues gibt. Aber sind die Clients mit dieser Technik jederzeit auf Empfang?

Tja. Das wird komplizierter.

PHP-Skript:

prüfen ob ein get-Parameter mit crc32 oder md5-Hash gesendet wurde. Wenn nicht für $oldCRC32 false annehmen Daten lesen, crc32 oder md5-Hash bilden. Hash mit gesendeten bzw, angenommen vergleichen: (Du darfst Syntaxfehler selbst bereinigen.)

<?php
header('Content-Type: text/json');
header('Cache-Control: no-cache');
$out['retry']=1000;

if ( ! isset($_GET['crc32']) ) {
    $oldCRC32=false;
} else {
    $oldCRC32=$_GET['crc32'];
}

$text=file_get_contents('file.txt');
$newCRC32=crc32($text);

if (false===$oldCRC32 or $newCRC32 != $oldCRC32) {
   $out['data']=$text;
   $out['crc32']=$newCRC32;
} else {
   header('Content-Type: text/json');
   header('Cache-Control: no-cache');
   $out['crc32']=$oldCRC32;
}

echo json_encode($out);

Dann musst Du das Zeug nur in JS auswerten und die CRC32-Summe an den Request als Parameter anhängen.

Du kannst die crc32-summe auch in eine Datei schreiben, musst dann aber daran denken immer diese Datei mit zu ändern oder zu löschen und dann durch Dein Skript neu anlegen zu lassen.