2011-09-28 4 views
0

연결된 각 사용자가 범주별로 다른 데이터를 가질 수있는 Streaming API를 설계해야합니다.일부 Comet Server를 통한 사용자 별 실시간 스트리밍

juggernaut하여 두 사용자가 스포츠 (카테고리)의 RSS 스트리밍 API 피드 있지만, 각 사용자가 다른 푸시 데이터 세트 결과 서버 자체 필터링 메커니즘이 ...

관련 말하게 당신은 카테고리 (채널)를 통해 데이터를 스트리밍 할 수 있지만 사용자 필터 설정에 따라 서버 측에서 카테고리 당 데이터 일부를 필터링하는 방법을 찾을 수 없습니다.

답변

1

/SPORT/FOOTBALL/PREMIERLEAGUE/MANU, 다른/SPORT/FOOTBALL/CHAMPIONSHIP/WESTHAM 및/SPORT/GOLF/USMASTERS에 대한 데이터를 필터링하는 데 채널이 사용됩니다.

채널에 대한 가입을 통해 추가 필터링을 제공하는 하나의 실시간 Comet 서버에 대해서만 알고 있습니다. 즉, Caplin System's Liberator입니다. 예 (의사)의 경우 :

var subscriber = new Subscriber(); 
var filter = "headline~transfer"; // where '~' means contains 
subscriber.subscribe("/SPORT/FOOTBALL/PREMIERLEAGUE/MANU", filter, function(update) { 
    // handle update 
}); 

위의 코드는 채널을 구독하지만 headline 필드는 텍스트 transfer을 포함 곳에서 온 때마다 업데이트에만 업데이트를 보낼 것입니다.

이 쿼리 기능을 제공하는 또 다른 솔루션은 pubsub.io입니다. 자신의 사이트에서 :

// connect from node 
var pubsub = require('pubsub.io').connect('hub.pubsub.io/238258'); 
// or the browser 
var pubsub = pubsubio.connect('hub.pubsub.io/238258'); 

pubsub.subscribe({ 
    hello:{$any:['world','mundo','verden']} 
}, function(doc) { 
    console.log(doc); 
}); 

pubsub.publish({hello:'world'}); 

이러한 종류의 채널 쿼리는 우리가 더 많이 보게 될 것입니다.