当前位置: 首页 > 面试题库 >

GET http:// localhost:3000 / socket.io / socket.io.js 404(未找到)

端木狐若
2023-03-14
问题内容

我正在尝试将数据流式传输到浏览器。但是,我正在努力将其连接到浏览器。这是我的html:

<ul class="tweets"></ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
    var socket = io.connect();
    jQuery(function ($) {
        var tweetList = $('ul.tweets');
        socket.on('tweet', function (data) {
            tweetList .prepend('<li>' + data.user + ': ' + data.text + '</li>'); 
        }); 
    });
</script>

这是我的app.js的相关部分:

var express = require('express')
    , twitter = require('ntwitter')
  , http = require('http')
  , path = require('path');

var app = express();

var io = require('socket.io').listen(app);

app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); });

app.listen(app.get('port'), function(){
   console.log("Express server listening on port " + app.get('port'));
});

io.sockets.volatile.emit('tweets', {
            user: data.user.screen_name,
            text: data.text,
            geo : geo,
            latitude: latitude,
            longitude: longitude
                });

我通过packages.json文件安装了socket.io 0.9.16:

"dependencies": {
    "express": "3.2.6",
    "jade": "*",
    "ntwitter":"0.2.10",
    "socket.io":"0.9.x"
  }

有谁可以帮我离开这里吗?为什么找不到文件?

深入挖掘。为了测试套接字,我将其放在app.js中:

var socket = io.listen(app);

我得到错误:

TypeError: Object #<Manager> has no method 'listen'
    at Object.<anonymous> (/home/andy/dev/node/mytwittermap/app.js:49:17)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:901:3

问题答案:

你可以尝试一下:

var http = require('http');
var app = express();
var server = http.createServer(app);

var io = require('socket.io').listen(server);

我想,您将不得不实例化socket.io服务器



 类似资料:
  • 我正在使用http代理中间件将表单数据从React前端发送到Express server, 但是似乎不起作用 它应该代理 而是抛出一个错误: 邮递http://localhost:3000/api/sendMail404(未找到)。 前端代码: 设置代理。js: 服务器js:

  • 我怎么解决这个问题? http://localhost:3000/favicon.ico404(未找到) 服务器有此错误消息: 找不到404错误:在D:\nodetour\app中找不到。第二层的js:82:13。句柄[作为句柄\u请求](D:\nodetour\node\u modules\express\lib\router\layer.js:95:5)位于trim\u前缀(D:\nodeto

  • system.config.js: 当我在“app.module.ts”的imports列表中添加时,就会出现错误。

  • 所以我已经创建了一个注册身份验证的后端,在邮递员工作良好,我正在让用户到mondoDb以及,我们但是当我尝试创建实际的身份验证在localhost:3000/前端。在控制台它给我错误。如果有人能帮助我,这种错误会出现在哪里。 控制器 路线 注册表

  • 我试图在登录后将数据存储到 /profile。然而,我在登录后的控制台上不断出现这2个错误。 "VM276:1 GEThttp://localhost:4200/user/profile401(未授权)"和"HttpError响应 因为我遵循不同的教程来解决这个问题,所以我知道我在令牌代码上犯了一些错误,我只是不知道如何修复它。我要感谢任何花时间帮忙的人!这是我的authentication.se

  • 使用Spring Boot(后端)和React(前端)开发时,我有一个奇怪的行为。React和Spring boot都在本地主机8080上运行。 当我从React to Spring Boot向localhost:8080发送POST请求时,我在Spring Boot中遇到了以下错误: 当我从localhost:3000(React development build)向localhost:808