Каналы обычно используются для фильтрации данных, т.е. один для / SPORT / FOOTBALL / PREMIERLEAGUE / MANU, другой / SPORT / FOOTBALL / CHAMPIONSHIP / WESTHAM и /SPORT/GOLF/USMASTERS.
Я знаю только одинсервер Comet в реальном времени, который предлагает дополнительную фильтрацию через подписки на каналы, и это Caplin System 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
.
* 1011.* Другим решением, предлагающим эту функцию запросов, является
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'});
Подобные запросы к каналам вполне могут быть тем, что мы начинаем видеть больше.