Socket.io.js在OpenShift上返回404

我是新来的node.js,我正在尝试在socket.io的网站上的教程之后创build一个聊天应用程序。 我已经在我的本地机器上工作了,但是现在我试图将它上传到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: 

大多数的build议并不特定于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); }); }); 

感谢您的帮助。

应该:

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

不是app.listen