我目前正在使用Node.js和SOcket.io處理流應用程序。目前,該應用程序完美工作,但我需要做一件事:由於它是一個流應用程序,有很多數據推送到客戶端,所以我只想顯示服務器推送的10個最近的對象。 我該怎麼做?我應該在客戶端代碼上還是直接在服務器上執行此操作?我真的不知道。限制使用node.js和socket.io傳輸到網頁的數據的數量
下面是客戶端的代碼
<script src="/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script>
var socket = io.connect('http://192.168.1.29:5000');
socket.on('stream', function(tweet){
$('#tweetd').append(tweet+'<br>');
});
</script>
<div id="tweetd"></div>
</div>
Server代碼:
var express = require('express')
, app = express()
, http = require('http')
, server = http.createServer(app)
,Twit = require('twit')
, io = require('socket.io').listen(server);
server.listen(8080);
// routing
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
var watchList = ['love', 'hate'];
var T = new Twit({
consumer_key: ''
, consumer_secret: ''
, access_token: ''
, access_token_secret: ''
});
io.sockets.on('connection', function (socket) {
console.log('Connected');
T.stream('statuses/filter', { track: watchList },function (stream) {
stream.on('tweet', function (tweet) {
io.sockets.emit('stream',tweet.text);
console.log(tweet.text);
});
});
});
希望你能幫幫我!
我想你的代碼,但它似乎並沒有工作。我正在使用twit包來將twitter api集成到我的代碼中。控制檯表示tweet沒有方法切片 – MaximeHeckel 2013-05-09 21:15:38
我試圖將一些推文放入數組中,但它似乎不起作用,因爲我正在使用流功能,所以我不認爲我能夠訪問每條推文。 – MaximeHeckel 2013-05-10 10:10:42