2017-05-19 8 views
0

私はExchangeティッカーデータを取得するために外部APIにサーバーでwebsocket接続を正常に開いたが、クライアント/ AngularJSにデータを連続的にプッシュする方法がわからない。ここで nodejsサーバーからライブデータをAngularJSにプッシュするにはどうすればいいですか?

は、ルータコードです:

router.get('/live-ticker', function(req, res) { 
 

 

 
    var autobahn = require('autobahn'); 
 
    var wsuri = "wss://api.poloniex.com"; 
 
    var connection = new autobahn.Connection({ 
 
    url: wsuri, 
 
    realm: "realm1" 
 
    }); 
 

 
    connection.onopen = function(session) { 
 

 
    function tickerEvent(args, kwargs) { 
 

 
     res.json(args); 
 
     console.log(args); 
 

 
    } 
 

 

 
    session.subscribe('ticker', tickerEvent); 
 

 
    } 
 

 
    connection.onclose = function() { 
 
    console.log("Websocket connection closed"); 
 
    } 
 

 
    connection.open(); 
 

 
});

私は何をattempingてることtickerEventライブアップデートフロントエンドのコントローラからデータを持っていることです。

app.controller('liveTickerController', function($scope, $http) { 
 

 
    $scope.ticker = []; 
 

 
    var request = $http.get('/live-ticker'); 
 

 
    request.success(function(ticker) { 
 
    console.log(ticker); //only logging data once 
 

 
    $scope.liveTicker = ticker; 
 
    }); 
 

 
    request.error(function(err) { 
 
    console.log('Error: ' + err); 
 
    }); 
 

 
});

ライブアップデートをクライアントにプッシュするにはどうすればよいですか?

ありがとうございます。

答えて

2

定期的にサーバーからデータをプッシュする必要があります。

これらの「ライブアップデート」をクライアント側で取得するには、プレーンajaxコールでは不十分です。 リアルタイム通信が必要です。

あなたは

+0

簡単にこの通信を処理することができ、たとえばsocket.ioangular socket.ioと、ここでもwebsoketを使用する必要があり、私は感謝を研究してきたと同じ方向が出ています – chuckieDub

関連する問題