2011-10-13 62 views
0

我使用twitter-node library作爲node.js,它工作正常,但是我在處理斷開連接時遇到了一些小問題。twitter-node檢測連接端

當twitter斷開我(我連接第二次從同一臺服務器強制斷開連接,所以我可以確保我處理這些問題),它不會產生錯誤或結束事件。我認爲以下幾條可以解決它:

var twitter = new TwitterNode({ 
    user  : opts.account, 
    password : opts.password, 
    track  : opts.hashtags, 
    follow  : opts.follow 
}); 

// omitted handlers for receiving tweets/deletes/limit info, but its there 
twitter.addListener('error', function(error) { 
    console.log('error occoured:' + error.message); 
}).addListener('end', function(resp) { 
    sys.puts("wave goodbye... " + resp.statusCode); 
}).stream(); 

但是,當我斷開連接時,我沒有收到來自「結束」或「錯誤」的消息。任何人都熟悉這個問題?

回答

1

對於有同樣的問題的人:

有沒有從Twitter節點的通知,因爲它不處理HTTPS庫關閉事件 - 通過進入源,並補充說:

response.on('close', function() { twit.emit('close',this); } 

的當遠程服務器(twitter)關閉連接時,庫現在會發出關閉事件,並且您可以像下面這樣在代碼中使用監聽器處理它:

twitterStreamReader = new TwitterNode({...}); 
twitterStreamReader.addListener('close', function(resp) { 
    sys.puts('The server connection has been closed. You may want to do something about that.'); 
});