html - 使用 socket.io/node.js 在网页上显示流式推特

标签 html node.js twitter socket.io

我正在尝试使用 node.js socket.io 和 twit 构建一个 Twitter 流式 Web 应用程序。

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'];


io.sockets.on('connection', function (socket) {
  console.log('Connected');

  var T = new Twit({
    consumer_key:         ''
  , consumer_secret:      ''
  , access_token:         ''
  , access_token_secret:  ''
})
 T.stream('statuses/filter', { track: watchList },function (stream) {

  stream.on('tweet', function (tweet) {

        io.sockets.emit('stream',tweet.text);
        console.log(tweet.text);

  });
 });
}); 

这是我的客户端

 <script src="/socket.io/socket.io.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
  <script>
    $(function(){
      var socket = io.connect('http://localhost:8080');
      socket.on('tweet', function(tweet) {
    $(
        '<div class="tweet">' + tweet.text + '</div>');
        }); 

  });

  </script>
</div>

当我运行 node app.js 并尝试连接到 localhost:8080 时,我只得到一个空白页面,即使所有内容(soket.io、jquery ……)似乎都已正确加载。

这是服务器输出的示例:

info  - socket.io started
debug - served static content /socket.io.js
debug - client authorized
info  - handshake authorized pwH0dbx4WvBhzSQXihpu
debug - setting request GET /socket.io/1/websocket/pwH0dbx4WvBhzSQXihpu
debug - set heartbeat interval for client pwH0dbx4WvBhzSQXihpu
debug - client authorized for
debug - websocket writing 1::
debug - websocket writing 5:::{"name":"stream","args":["RT @mintycreative: Great to chat       today RT @SharonHolistic: Treatments available tomorrow http://t.co/5Poq3KU08u Book yours now #WestMidsHou…"]}

调试 - websocket 写入 5:::{"name":"stream","args":["RT @laurenpeikoff: #BREAKING @ScottsdalePD 确认 - 警方正在调查迈克尔比斯利涉嫌性侵犯。@12News @azcentr ……”]}

希望你能帮我改正我的错误。

最佳答案

问题解决了

这是没有任何错误的代码:(服务器端)

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');


 var stream = T.stream('statuses/filter', { track: watchList })

  stream.on('tweet', function (tweet) {

    io.sockets.emit('stream',tweet.text);


  });
 });
}); 

(客户端)

 <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://localhost:8080');
        socket.on('stream', function(tweet){
        $('#tweetd').append(tweet+'<br>');
        });
  </script>
  <div id="tweetd"></div>
</div>

关于html - 使用 socket.io/node.js 在网页上显示流式推特,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16427039/

相关文章:

php - 将 PHP 表单插入到 MySQL 数据库会产生重复的意外结果

html - 验证密码和用户名nodejs mysql

正则表达式 - 从 URL 中提取 TwitterUsername

python - 使用 Python 从 Twitter 获取带有标签的推文

html - 在背景图像上垂直和水平对齐 bootstrap 4 容器列

javascript - 横幅的鼠标效果

html - 将 SPAN 与 UL 垂直对齐

node.js - 如何防止 "npm install"或 "npm remove"删除我的个人包裹?

javascript - 如何将字符串参数从 Angular UI 传递到 node.js 后端?

asp.net-mvc-4 - 在 MVC 中使用 oAuth 安排推文