2014-04-11 5 views
0

У меня есть очень простой сервер Faye работает в Node.js, который выглядит следующим образом:Фей отписаться ничего не вызывают на сервере

faye.on('subscribe', function(message, channel) { 
    console.log('subscribed', channel); 
} 
faye.on('unsubscribe', function(message, channel) { 
    console.log('unsubscribed',channel); 
} 

В моем клиенте я делаю следующее:

f = new Faye.Client(url); 
var s = f.subscribe('/test'); // The server hits the subscribe event 
s.cancel(); // Nothing happens on the server 
f.unsubscribe('/test'); // Nothing happens here either 

Было мое понимание, что выполнение любого из этих методов отмены подписки должно инициировать сообщение/meta/unsubscribe, и сервер должен увидеть событие «отменить подписку», но, похоже, это не так. Я даже попытался добавить входящее расширение на сервер и даже все еще, ни разу не вижу ничего входящего, где message.channel === '/ meta/unsubscribe'

Может кто-нибудь пролить свет на то, почему я не видя, что огонь нечистых событий?

ответ

1

Вот рабочий пример Фей сервера (обратите внимание Байе):

'use strict' 

var server = function(port, pathOptional){ 
    var http = require('http'), 
     faye = require('faye'); 

    var server = http.createServer(); 
    var path = ''; 
    if (pathOptional){ 
     path += pathOptional; 
    } 
    var bayeux = new faye.NodeAdapter({mount: '/'+path}); 

    bayeux.on('subscribe', function(message, channel) { 
     console.log('subscribed', channel, message); 
    }); 
    bayeux.on('unsubscribe', function(message, channel) { 
     console.log('unsubscribed',channel); 
    }); 
    bayeux.attach(server); 
    server.listen(port); 
    console.log('server listening on port '+port.toString()); 

} 


server(8002);