2016-11-14 5 views
0

特定のサブreditに新しい投稿があるかどうかを確認するJavaScriptスクリプトがあります。 Reddit magicalyはすべてのリンクにJSONエンドポイントを提供します。この場合、私は次のエンドポイントがあります。Reddit EndpointのWebsocketで新しい投稿を検出する

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

を私はその後、私は例えば、ドメイン、selftext、著者とドメインが必要speceficデータを取得するためのNode.jsのために要求モジュールを使用。しかし、これは、新しい投稿が公開されるたびに変更されるため、新しい投稿がリリースされた場合、setInterval関数を使用して数秒ごとに確認します(そのようなポーリングのようなものです)。私はすべての投稿がすべての要求に対して新しいものであると仮定するので、ダブル投稿を防ぐためにすべての投稿IDをmongoに保存しています。私は離れて、この方法から移動し、WebSocketをする上に移動したい

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); 

ので、構造のようなものです。しかし、私は正しく、そのようなエンドポイントで、好ましくはsocket.ioを使ってwebsocketを正しく実装する方法がわかりません

答えて

0

websocketエンドポイントは、サーバー(この場合はredditサーバー)から提供される必要があります。 websocketをサポートしていないランダムなサーバーへのwebsocket接続は作成できません。

あなたができる唯一のことは、(現在行っているような)新しいイベントのためにredditサーバーをポーリングし、他のクライアントのためにwebsocketエンドポイント自体を提供するプロキシサーバーを構築することです。

+0

私はrockets.ccを見つけました。すぐにこのようなサービスを提供するつもりです! –

関連する問題