Javascript 服务器发送事件PHP一直发送过去的事件

Javascript 服务器发送事件PHP一直发送过去的事件,javascript,php,dbus,server-sent-events,Javascript,Php,Dbus,Server Sent Events,我目前正在使用服务器发送事件和PHP将信息从PHP服务器发送到javascript webclient。但是,当我重新加载页面时,服务器会发送所有最后的事件。我想知道它是否把它们存放在任何地方,我怎样才能阻止它这样做 下面是php代码。我使用dbus监视按键事件 <?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); $dbus = new Dbus(DBus::BUS_SY

我目前正在使用服务器发送事件和PHP将信息从PHP服务器发送到javascript webclient。但是,当我重新加载页面时,服务器会发送所有最后的事件。我想知道它是否把它们存放在任何地方,我怎样才能阻止它这样做

下面是php代码。我使用dbus监视按键事件

<?php 
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$dbus = new Dbus(DBus::BUS_SYSTEM);

$dbus->addWatch("nl.pcdata.display", "displayKey");

do {
    $signal = $dbus->waitLoop(100);
    if($signal instanceof DbusSignal){
        if($signal->matches("nl.pcdata.display","displayKey")){
            $data = $signal->getData()->getData();
            echo "data:Address:{$data[0]};Button:{$data[1]}.\n\nretry: 100\n\n";
            flush();
            break;
        }
        else{
            echo "data:Geen data\n\n";
            flush();
        }
    }
}while(true);
?>

以及javascript中的代码

var source = new EventSource("textinput.php");
    source.onmessage = function(event){
        console.log(typeof event.data);
        var result = event.data.split(";");
        console.log(result);
        document.getElementById("items").innerHTML += "<li>" + event.data + "</li>";
    };
var source=neweventsource(“textinput.php”);
source.onmessage=函数(事件){
日志(事件类型、数据);
var result=event.data.split(“;”);
控制台日志(结果);
document.getElementById(“items”).innerHTML+=“
  • ”+event.data+”
  • ”; };
    所以代码做了它应该做的事情。例如,当我按下OK按钮时,服务器会将其发送到webclient

    看起来是这样的

    控制台输出:

    当我重新加载页面时,它会再次输出。我需要的是当我重新加载页面时,它只显示从该点开始按下的键