是否有替代实时数据的方法? [关闭]

Posted

技术标签:

【中文标题】是否有替代实时数据的方法? [关闭]【英文标题】:Is there an alternative to realtime data? [closed] 【发布时间】:2018-07-16 18:18:47 【问题描述】:

我是一名编程初学者,因此我一直在寻找一种方法来在我正在使用的网页中获取实时数据,特别是实时通知。我将 php 用于服务器端代码,将 javascript 用于客户端。

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

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

还有其他替代方法吗?

提前致谢。

【问题讨论】:

我想说,另一种选择是付费购买一项确实让你做你想做的事的服务。 参见 nodeJS。寻找更好的主机。 【参考方案1】:

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

你的 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 发出一个请求

【讨论】:

谢谢!我认为它会运作良好:)

以上是关于是否有替代实时数据的方法? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Web 应用程序有啥方法可以从支持蓝牙的硬件读取实时数据?如果没有,有啥替代方案?

我们可以使用 Hadoop MapReduce 进行实时数据处理吗?

实时聊天:我都有哪些选择? [关闭]

自 OpenQuant 消亡以来,是不是有免费的实时财务数据馈送? [关闭]

基于Kafka的实时计算引擎:Flink能否替代Spark?

是否有推荐的方法来获取 web 应用程序的实时数据?