Я новичок в 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);
});
});
Спасибо за любую помощь.
Просто убедитесь, что вы выполнили все эти http://stackoverflow.com/questions/11653237/socket-io-failed-to-load-resource – laggingreflex