我在heroku上設置了一個node.js twitter流應用程序。它完美地工作,直到第二個客戶建立連接。這是我沒想到,直到我拿給別人:(Heroku,Socket.IO,Node.js
我使用的鳴叫管用於Twitter的API STRAM功能:https://github.com/peeinears/tweet-pipe
要獲得Socket.IO在Heroku上工作,我跟着這些指示:https://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku
io.configure(function() {
io.set("transports", ["xhr-polling"]);
io.set("polling duration", 10);
});
在我app.js文件我有
io.sockets.on('connection', function (socket) {
tp.stream('statuses/filter', params, false, function (stream) {
stream.on('tweet', function (tweet) {
socket.emit('tweet', tweet);
});
});
});
同樣,這一切的偉大工程,直到另一個客戶端訪問該頁面。然後在第二個客戶端連接時原始連接丟失。有什麼想法嗎?我對Socket.IO的東西有點新。
爲每個連接器創建一個新的tweet-pipe,或單獨註冊tp流並廣播消息。 (比如'io.sockets.emit('tweet',tweet)')是一些快速的想法。我對tweet-pipe或用例的瞭解不夠,無法提供更多的建議。 – Chad 2013-03-26 21:59:55
謝謝@Chad。這很有幫助。 – Tyler 2013-03-27 18:26:33