1

コードの問題点を見つけるのに苦労しています。このアプリは、「nodewhatever.js」を実行すると問題なく動作しますが、Nodejitsu のような場所で本番環境にプッシュすると、実行に失敗します (実際に実行に失敗するかどうかはわかりませんが、実行されるだけだと思います)サーバーをアクティブ化した直後に一度、その後すべてのリクエストの実行を停止します)。(プライバシーのためにキーとトークンの情報を削除しました)

PS: 実際のアプリはここでホストされています: http://bucifer-realtime-twitter.jit.su/ テンプレートの「wait for it」は、socket.io/Express を使用して一連の twitter データに変更することになっています。これは開発中にうまく機能します。

var express = require("express");
var fs = require("fs");
var http = require("http");
var https = require("https");
var port = "1337";
var twitter = require('ntwitter');

var twit = new twitter({
  consumer_key: 'x',
  consumer_secret: 'x',
  access_token_key: 'x',
  access_token_secret: 'x'
});

var app = express();
app.get("/", function(request, response) {
  var content = fs.readFileSync(__dirname + "/template.html");
  response.setHeader("Content-Type", "text/html");
  response.send(content);
});
var server = http.createServer(app);
server.listen(port);

var io = require('socket.io').listen(server);

app.use(express.static(__dirname + '/public'));

twit.stream('statuses/filter', { track: ['naruto'] }, function(stream) {
  stream.on('data', function (tweet) {
    console.log("working...");
    io.sockets.emit("tweet", tweet);
  });
  stream.on('end', function() {
    console.log("Disconnected");
    io.sockets.emit('ending', {message: 'test'});
  });
  stream.on('error', function(error ,code) {
    console.log("My error: " + error + ": " + code);
  });
  // Disconnect stream after -- seconds
  var myTimeOut = 21000;
  setTimeout(stream.destroy, myTimeOut);
});
4

1 に答える 1