使用socket.io/node.js在网页上显示流式twitter

2024-01-19

我正在尝试使用 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用socket.io/node.js在网页上显示流式twitter 的相关文章

  • JQuery 找不到我的元素。为什么?

    更新 愚蠢的我没有注意到案例不准确 我为此苦苦挣扎了 30 多分钟 而你们在不到 5 分钟的时间里就看到了我的问题 感谢您为我节省了很多悲伤 无论如何 我对编程还是个新手 我需要学习如何留意这样的小事情 但非常感谢 它甚至没有闪过我的脑海
  • 如何在浏览器中实现HTTP/2流连接?

    如今 HTTP 2 的性能正在不断提高 最新版本的 Node js 很好地支持了 HTTP 2 https nodejs org api http2 html https nodejs org api http2 html 但我不知道如何在
  • Nginx Node.js 快速下载大文件止于 1.08GB

    我有这个由 Nginx 代理的 Node js 应用程序 在生产环境中 路线是这样的 exports download function req res var id req params id if id id latest res do
  • Datalist 属性在 google chrome 中不起作用

    Datalist 属性在 Google Chrome 中不起作用 但在 Firefox 中工作正常 请看这里http prntscr com arny81 http prntscr com arny81 提前感谢您的帮助 HTML td t
  • PHP 邮件功能不发送任何消息[重复]

    这个问题在这里已经有答案了 我对问题所在感到困惑 在使用时没有收到任何电子邮件mailphp 函数 PHP HTML
  • Firefox 中出现图像映射问题

    我的图像地图无法在 Firefox 中运行 但可以在 Chrome 和 Safari 中运行 我认为这与 div 内的一些标签有关 你们能帮帮我吗 因为我对此不太了解 div style font size 14px img src dat
  • 使用 AppleScript 单击 safari 网页按钮

    我想弄清楚如何单击网页中的按钮 例如 点击谷歌网页中的 手气不错 按钮 这是我尝试过的 tell application Safari make new document with properties URL https www goog
  • Knockout.js:有条件绑定div的title属性

    我的页面上有一个 viewModel 它保存一些设备当前状态概述的数据 到目前为止 除了一个问题之外 一切都运行良好 我需要根据 viewModel 中的另一个值设置 div 元素的 title 属性 我知道您基本上可以像这样设置 titl
  • 获取特定用户的推文 V1.1

    我不太确定从哪里开始 在升级到 API 1 1 版本之前 我能够使用以下命令请求 XML 格式的推文 url http api twitter com 1 statuses user timeline xml screen name TWI
  • 未知错误:SyntaxError:ng 命令上出现意外的标记“导出”

    我正在尝试学习 Angular我已按照此处的步骤操作 https angular io guide setup local https angular io guide setup local在 Ubuntu 18 04 5 LTS 上进行
  • 如何使用C从http下载文件?

    最近几天我试图弄清楚如何从 URL 下载文件 这是我对套接字的第一个挑战 我用它来了解协议 所以我想在没有 cURL 库的情况下只用 C 语言来完成它 我搜索了很多 现在我可以打印页面的源代码 但我认为这与文件不同 我不必只将接收到的数据从
  • 错误 [ERR_UNSUPPORTED_DIR_IMPORT]:尝试在本地启动 Nodejs 应用程序时导入目录

    我在尝试将我的应用程序部署到 Heroku 时陷入了一个循环 我的进口声明 例如import cors from cors 由于 无法在 Common JS 中加载 ES6 模块 错误 似乎阻止了应用程序在生产环境中启动 在本地运行得很好
  • BS3 - img 响应类 - 为什么没有最大高度?

    引导程序 3 包括 img responsive班级 应用这些 css 设置 display block height auto max width 100 为什么没有max height 100 我发现添加这个使得图片的高度也适合 但我不
  • Node.js 中的 JSON Zip 响应

    我对 node js 还很陌生 我正在尝试发回包含 JSON 结果的 zip 文件 我一直在尝试弄清楚如何去做 但还没有达到预期的结果 我正在使用 NodeJS ExpressJS LocomotiveJS Mongoose 和 Mongo
  • npm i 导致许多 ERESOLVE 问题

    我收到此错误npm i npm ERR code ERESOLVE npm ERR ERESOLVE unable to resolve dependency tree npm ERR npm ERR Found email protect
  • ng 不被识别为内部或外部命令。詹金斯 + 角度 CLI

    我正在尝试为 Angular CLI 项目设置 Jenkins 我已经在 J enkins 服务器上以特定用户帐户安装了节点和 Angular Cli 如果我在服务器上打开命令提示符并执行以下命令来验证它们是否正确安装 结果如下 我已经使用
  • node-postgres 不会插入数据,但也不会抛出错误

    我正在使用节点 postgres https github com brianc node postgresnode js 的模块 我在插入数据时遇到问题 功能 function addItems listId listItems hand
  • 猫鼬递归填充

    我已经搜索了一段时间 但没有找到任何好的答案 我有n deep我存储在数据库中并且想要填充的树所有的父母所以最后我得到了完整的树 node parent parent parent 到目前为止 我已达到 2 级 正如我提到的 我需要达到 2
  • HTTPS 网站上的 ShareThis 按钮不可点击

    我已将 共享此 按钮添加到我的安全站点 现在单击它们时会产生错误 下面提到了错误 以前有人遇到过这个问题吗 阻止加载混合活动内容 http w sharethis com button buttons js http w sharethis
  • 将 JSON var 从路由传递到 ejs

    我在express EJS中有一些代码 1 在 app js 中 创建 mongo 集合对象 app locals userCollection db get userData 2 在user js快速路由文件中 我从这个数据库连接获取数据

随机推荐