0

「Sokect.IO」を使用して、特定の Twitter アカウントから「ntwitter」を使用してツイートをストリーミングする非常に単純なノード アプリケーションを開発しました。

だから、新しいツイートがあるとき、私はこのコードを持っています:

twit.stream('user', {track:'KITKAT'}, function(stream) {
    stream.on('data', function (data) {
        try{
            var tweet = {};
            tweet.name = data.user.name;
            tweet.avatar = data.user.profile_image_url;
            tweet.content = data.text;
            tweet.dateTime = moment(data.created_at).format('llll');
            //console.log(tweet);
            socketServer.sockets.emit("tweet", tweet);
        } catch(e){
            console.log("Error: " + e);
        }
    });
});

socketServer.sockets.on("connection", function(socket){
    console.log("new socket");
    var origen = socket.handshake.address.address;
    if(origen == "127.0.0.1")
        return;
    socket.emit("connection", "connection refuse: " + origen);
    socket.disconnect();

});

「問題」は、Web サイトにツイートを見ているユーザーがいない場合でも、常に新しいツイートをストリーミングしようとすることです。

ユーザーが接続している場合にのみツイートを取得するために、これを制限するにはどうすればよいですか?

私が行っていることの例は、http: //juanjardim.com/work/nodeで見ることができます。

ありがとう

4

1 に答える 1

1

接続を保存してから、オブジェクトまたは配列を反復処理してツイートを送信する必要があります。接続ストアがない場合、ループは何もしません。次の質問を確認してください。Nodejs、クライアントは常にサーバーメッセージを受信して​​いません

于 2013-11-05T12:17:29.877 に答える