2016-03-03 3 views
1

Я развернул под кодом в OpenShift Cloud платформу Red-hat для приложения чата NodeJs, я не получаю никаких ошибок в Console (F12) и код ответа как Ok 200. .Но приложение не работаетOpenshift Nodejs Socket.io issue, но ответ 200 Ok

сервера (вы можете найти полный источник в https://github.com/varund29/openshift/blob/master/index.js)

var express = require('express'); 
var app = express(); 
var server = require('http').createServer(app); 
var io = require('socket.io').listen(server, { origins:'http://nodejs-atnodejs.rhcloud.com:8000' }); 
app.get('/', function (req, res) { 
    res.sendfile('index.html'); 
}); 
io.on('connection', function (socket) { 
    socket.on('chatmessage', function (msg) { 
     console.log('index.js(socket.on)==' + msg); 
     io.emit('chatmessage', msg); 
    }); 
}); 

server.listen(process.env.OPENSHIFT_NODEJS_PORT, process.env.OPENSHIFT_NODEJS_IP); 

Client (вы можете найти полный источник в https://github.com/varund29/openshift/blob/master/index.html)

src="http://nodejs-atnodejs.rhcloud.com:8000/socket.io/socket.io.js 
src="http://code.jquery.com/jquery-1.11.1.js" 

    var socket = io.connect('http://nodejs-atnodejs.rhcloud.com:8000'); 
     $('button').click(function (e) { 
      console.log('index.html($(button).click)=' + $('#m').val()); 
      socket.emit('chatmessage', $('#m').val()); 
      $('#m').val(''); 
      return false; 
     }); 
     socket.on('chatmessage', function (msg) { 
      console.log('index.html(socket.on)==' + msg); 
      $('#messages').append($('<li>').text(msg)); 
     }); 

Html тело

<ul id="messages"></ul> 
    <form action=""> 
     <input id="m" autocomplete="off" /> 
     <button>Send</button> 
    </form> 
+0

я взял ссылку на выше от http://socket.io/get-started/chat/ –

ответ

3

Когда я запустил свой код, который я получил следующие ошибки в моих журнальных файлах на шмотках на OpenShift онлайн:

Option log level is not valid. Please refer to the README. 
Option polling duration is not valid. Please refer to the README. 

Так я закомментированные следующие строки в файле index.js :

io.set('log level', 1);     // reduce logging 
io.set('transports', ['xhr-polling']); 
io.set("polling duration", 10); 

И, похоже, сейчас он работает нормально. Вы можете проверить его здесь: http://nodejs-cdaley.rhcloud.com/ И вы можете просмотреть код здесь: https://github.com/developercorey/nodejs

+0

Пожалуйста, скажите, как я могу найти журнал файлов в OpenShift. –

+0

спасибо, теперь его отлично работает. и я обнаружил, что проблема заключается в том, что «зависимости»: {«socket.io»: «~ 9.6.0»} не работает. отлично работает с «зависимостями»: {"socket.io": "1.2.0"} - –

+0

Файлы журнала можно найти, выполнив следующие инструкции: https://developers.openshift.com/en/managing-log-files .html –

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