【问题标题】:Websocket on Reddit Endpoint to detect new postReddit Endpoint 上的 Websocket 以检测新帖子
【发布时间】:2016-11-14 23:56:55
【问题描述】:

我有一个 JavaScript 脚本来检查某个 subreddit 中是否有新帖子。 Reddit 神奇地在每个链接上提供了一个 JSON 端点。在这种情况下,我有以下端点:

https://www.reddit.com/r/webdev/new.json?limit=1

然后我使用 node.js 的请求模块来获取我需要的特定数据,例如域、selftext、作者和域。然而,每次发布新帖子时都会发生这种情况,因此我使用 setInterval 函数每隔几秒钟检查一次是否发布了新帖子(它就像某种轮询)。我将每个帖子的唯一 ID 保存到 mongo 以防止重复发布,因为这会假设每个帖子在每个请求上都是新的。

所以结构是这样的:

setInterval(function () {
    request({
        uri: redditEndpoint,
        json: true
    }, function (error, response, body) {}) });

// I then save the data sent to mongo as unique to prevent double posting

// I consume the data here

}, 1000);

我想摆脱这种方法并转向 websockets。但是我不确定如何在这样的端点上正确实现 websocket,最好使用 socket.io

【问题讨论】:

    标签: javascript node.js rest websocket socket.io


    【解决方案1】:

    该 websocket 端点需要由服务器提供 - 在这种情况下来自 reddit 服务器。您无法创建与不提供 websocket 支持的随机服务器的 websocket 连接。

    您唯一能做的就是构建一个代理服务器,它会轮询 reddit 服务器以获取新事件(例如您当前正在执行的操作),然后为其他客户端提供一个 websocket 端点。

    【讨论】:

    • 我找到了rockets.cc,我打算尽快提供这样的服务!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 2022-11-10
    • 1970-01-01
    • 2020-11-08
    相关资源
    最近更新 更多