有实时数据的替代方案吗?

Is there an alternative to realtime data?

我是编程初学者,所以我一直在寻找一种方法来在我正在使用的网页中获取实时数据,特别是实时通知。我对服务器端代码使用 PHP,对客户端代码使用 Javascript。

我尝试使用 websockets,但问题是 Web 由 Hostinger 托管,它不允许我使用 shell 到 运行 websocket 服务器,或者至少在不升级服务的情况下,还尝试使用 PHP 的 shell_exec() 运行 命令,但它也被禁用。

我唯一的选择是使用 'wss://echo.websocket.org' 服务器或其他在线服务器,但这不是我真正想要的。

还有其他替代方法吗?

提前致谢。

一种选择是让您的前端每隔 x 秒调用一个后端 "notifications" 端点来检查通知。它可能不是实时的,但你可以接近。

您的 JS 可能看起来像这样:

let getNotifications = (url, params) =>{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", url);
    try {
        xmlHttp.send(params);
        console.log(xmlHttp.responseText);
        //handle notifications here
    }
    catch(err) {
        console.log(err);
    }
    finally {
        setTimeout(() => {getNotifications(url, params);}, 5000);
    }
}

getNotifications('/api/notifications', null);

每 5 秒(5000 毫秒)向 /api/notifications 发出请求