为了账号安全,请及时绑定邮箱和手机立即绑定

找不到socket.io.js

/ 猿问

找不到socket.io.js

杨魅力 2019-12-27 15:27:06

由于某些原因,我的节点服务器无法提供路由/socket.io/socket.io.js,所以我总是会收到404错误。

我尝试编译不同的节点版本(当前版本为0.6.13,该版本也可以在实际运行的服务器上运行)。

从app.js info: socket.io started尝试调用socket.io.js时,我得到并没有错误。


我从本地主机和端口8000尝试,我使用express框架


这是来自app.js的代码:


var express = require('express')

  , app = require('express').createServer()

  , io = require('socket.io').listen(app, { log: true });


app.listen(8000);


app.configure(function() {

    app.use(express.static(__dirname + '/public'));

    app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));

});


io.sockets.on('connection', function (socket) {

   // all other stuff here


查看完整描述

3 回答

?
侃侃无极

请检查您的Express版本。Express最近已更新为API更改的3.0alpha。如果是3.0,则可以将代码更改为以下形式:


var express = require('express')

  , http = require('http');


var app = express();

var server = http.createServer(app);

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


...


server.listen(8000);

与连接相同的问题:https : //github.com/senchalabs/connect/issues/500#issuecomment-4620773


查看完整回答
反对 回复 2019-12-27
?
吃鸡游戏

与Express 3 Web框架一起使用:(来自socket.io)


> Express 3要求您实例化一个http.Server将socket.io附加到第一个:


含义-(1)您必须创建一个服务器实例:


var app = express();

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

(2)与socket.io耦合:


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

io.listen(http);

然后只有-(3)使服务器监听:


http.listen(8080);

确保您保留此订单!


查看完整回答
反对 回复 2019-12-27
?
慕容森

安装节点0.8.1之后,我遇到了同样的问题。我只是删除了项目文件夹中的node_modules映射,然后重新安装了express / socket.io。之后,它可以与您问题中的代码再次正常工作。


查看完整回答
反对 回复 2019-12-27

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信