twitter-node检测连接端

时间:2011-10-13 22:02:48

标签: node.js twitter

我正在使用twitter-node library作为node.js并且效果很好,但是我在处理断开连接时遇到了一些小麻烦。

当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();

然而,当我断开连接时,我没有收到来自'end'或'error'的消息。有谁熟悉这个问题?

1 个答案:

答案 0 :(得分:1)

对于有同样问题的人:

twitter-node没有通知,因为它不处理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.');
});