2013-04-12 5 views
0

В настоящее время я пытаюсь передать два трека в одно и то же соединение, проблема заключается в том, что новое соединение открывается для второго потока, в котором Twitter отклоняется с кодом ошибки 7 , который является Twitter сбрасывает старое соединение, чтобы освободить место для новейших, есть ли что-то, что я могу сделать программно, чтобы предотвратить это?Node.js & Twitter Streaming API

Это код, я использую

var request = oa.get("https://stream.twitter.com/1.1/statuses/filter.json?track=tweet1", access_token, access_token_secret); 

request.addListener('response', function (response) { 

    response.setEncoding('utf8'); 

    response.addListener('data', function (chunk) { 
     var theTweets = JSON.parse(chunk); 
     console.log(theTweets); 
     MongoClient.connect("mongodb://localhost:27017/db", function(error, database) { 
      var collection = database.collection('coll'); 
      collection.insert(theTweets, function(err, result) {}); 
     });  
    }); 

    response.addListener('end', function() { 
     console.log('--- END ---'); 
    }); 

}); 


var requestTweet2 = oa.get("https://stream.twitter.com/1.1/statuses/filter.json?track=tweet2", access_token, access_token_secret); 

requestTweet2.addListener('response', function (response) { 

    response.setEncoding('utf8'); 

    response.addListener('data', function (chunk) { 
     var theTweets = JSON.parse(chunk); 

     MongoClient.connect("mongodb://localhost:27017/db", function(error, database) { 
      var collection = database.collection('coll'); 
      collection.insert(theTweets, function(err, result) {}); 
     });  
    }); 

    response.addListener('end', function() { 
     console.log('--- END ---'); 
    }); 

}); 
requestTweet2.end(); 
request.end(); 

ответ

1

щебетать общественности поток будет принимать только одно соединение на IP-адрес. Вы можете найти это documented here.

Каждая учетная запись может создать только одно постоянное подключение к публичным конечных точек и подключение к открытому потоку более чем один раз с же учетными данными приведут старейшее соединение быть отключен.

В качестве альтернативы вы можете использовать user stream, что ограничивает входящие твиты на счет аутентифицированного пользователя.

Смежные вопросы