昨日、私が作成しているオンラインゲームのニュースフィードを作成するための優れた方法であったため、サーバー送信イベントに飛び込みました。フィードをサブスクライブできる作業用スクリプトと、MySqlデータベースからニュースフィードを数分以内にプルできるスクリプトがありましたが、何らかの理由で毎回接続が切断されます...(そして、3秒ごとに再接続し、何もしませんたとえば、特定の時間間隔でAJAXを使用するよりも優れています)
私が使用しているJavaScript:
var source = new EventSource('http://theobg.itselementary.site50.net/gamefeed.php');
source.onmessage = function(e) {
$("#gamefeed").html(e.data);
}
私が使用しているPHP:
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
header('Connection: keep-alive');
function sendMsg($id, $msg) {
echo "id: $id" . PHP_EOL;
echo "data: $msg" . PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();
}
//The file for connecting to my database here...
$gameid = 1;
$serverTime = time();
//Some mysql query to get the gamefeed from the database here..., gamefeed is structured like this: NEWS&OTHERNEWS&OLDERNEWS&EVENOLDERNEWS
sendMsg($serverTime, $gamefeed);
?>
私はインターネット全体を見てきましたが、接続が「維持されていない」ことを除いて、すべてがうまく機能しているようです。それがなぜであるかについての手がかりはありません...誰かが私を助けることができますか?
よろしくお願いします、Dalionzo