HTML 5とphpでメッセージプッシュ機能を実現

3498 ワード

1、htmlページbasic_sse.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>    </title>
</head>
<body>
    <pre id="result">
        Initializing...
    </pre>
    <script type="text/javascript">

        if(typeof(EventSource)!=="undefined")
          {
          var source = new EventSource("/sjts/index.php");
          source.onmessage=function(event){              
            document.getElementById("result").innerHTML=event.data + "<br />";
            };
          }
        else
          {
          document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";
          }

    </script>
</body>
</html>

2、phpページindex.php
<?php
    header('Content-Type:text/event-stream');//             
    header('Cache-Control:no-cache');//              

    //$time = date('r');
    //echo "data: The server time is: {$time}

";
$mysqli = new MySQLi('localhost','root','','test'); $sql = 'select ac_id from article_class where ac_name="11";'; $result = $mysqli->query($sql); while($row = $result->fetch_assoc()){ $time = $row['ac_id']; echo "data: The server time is: {$time}

"; } ob_flush();// flush();// ?>

まとめ:データベースac_を変更するid自動、フロントエンドはリフレッシュせずに変更データを実施