【问题标题】:Socket.io.js returns 404 on OpenShiftSocket.io.js 在 OpenShift 上返回 404
【发布时间】:2014-12-22 05:42:37
【问题描述】:

我是 node.js 的新手,我正在尝试创建一个关注 the tutorial on socket.io's website 的聊天应用程序。我已经让它在我的本地机器上运行,但现在我正在尝试将它上传到 OpenShift 服务器。

在我的应用程序中,我有一行:

<script src="/socket.io/socket.io.js"></script>

在我的本地机器上,它加载正常,但在我的服务器上,它返回 404 错误。我以为我的node_modules 一开始可能没有加载,但是在进入服务器并检查之后,我看到它们存在。

我在package.json 中的依赖如下:

"dependencies": {
    "express": "^3.4.8",
    "socket.io": "^1.1.0"
  }

这里有很多关于从 socket.io 获取 404 错误的不同问题,我已经将其中的许多问题抛给了他们试图解决这个问题,但没有任何进展。包括将script src 更改为:

http://app-domain.rhccloud.com
http://app-domain.rhccloud.com:8000
http://app-domain.rhccloud.com:8080
ws://app-domain.rhchloud.com:

大部分建议都不是针对 OpenShift 服务器的,所以我想我会专门询问一下。

如果需要,这是我的server.js

#!/bin/env node

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

var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
var ip = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";

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

app.listen(port,ip,function() {
    console.log('listening');
});

io.on('connection',function(socket) {
    console.log('a user connected');

    socket.on('disconnect',function() {
        console.log('user disconnected');
    });

    socket.on('chat message',function(msg) {
        io.emit('chat message',msg);
    });

});

感谢您的帮助。

【问题讨论】:

标签: node.js socket.io openshift


【解决方案1】:

应该是:

server.listen(port,ip,function() {
    console.log('listening');
});

不是app.listen

【讨论】:

    猜你喜欢
    • 2015-01-01
    • 2017-02-02
    • 2016-10-06
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多