2016-03-03 59 views
1

我已經在OpenShift Cloud平臺中通過Red-hat爲NodeJs聊天應用程序部署了以下代碼,在控制檯(F12)和響應代碼中沒有出現任何錯誤,如OK 200。 。但應用程序無法正常Openshift Nodejs Socket.io問題,但是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); 

客戶端(你可以找到在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的 – 2016-03-03 14:55:40

相關問題