2014-10-27 2 views
2

Я новичок в node.js, и я пытаюсь создать приложение для чата после the tutorial on socket.io's website. У меня это работает на моей локальной машине, но теперь я пытаюсь загрузить его на OpenShift Server.Socket.io.js возвращает 404 на OpenShift

В моем приложении, у меня есть строка:

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

На моей локальной машине, он загружает нормально, но на моем сервере, он возвращает ошибку 404. Я думал, что мой node_modules может не загружаться сначала, но после того, как я зашел на сервер и проверил, я вижу, что они присутствуют.

Мои зависимости в моей package.json следующим образом:

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

Есть много различных вопросов на здесь о получении ошибки 404 из Socket.io и я пошел бросил многие из них они пытаются решить эту проблему проблема, без прогресса. В том числе изменения 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); 
    }); 

}); 

Спасибо за любую помощь.

+0

Просто убедитесь, что вы выполнили все эти http://stackoverflow.com/questions/11653237/socket-io-failed-to-load-resource – laggingreflex

ответ

1

Должно быть:

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

не app.listen.

Смежные вопросы