2015-08-31 6 views
2

У меня есть простое приложение чата на основе nodejs и socket io. Работает хорошо на месте. Но я сталкиваюсь с проблемами при развертывании его в openshift.не удалось развернуть приложение nodejs socket io на openshift

Я прочитал и реализовал почти все связанные потоки в переполнении стека. Пока нет прогресса.

стороны клиента (index.html):

<script src="/socket.io/socket.io.js"></script> 
var socket = io.connect("http://www.abcd.com:8000/"); 

где 'ABCD' является приложенным доменным именем приложения OpenShift.

Server Side (index.js):

//Express initializes app to be a funciton handler that is to be supplied to the http server later 
var express = require('express'); 
var app = express(); 
// 
var server = require('http').Server(app); 
var io = require('socket.io')(server); 
var mongoose = require('mongoose'); 

var server_port = process.env.OPENSHIFT_NODEJS_PORT || 3000 
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1' 

//server listening 
server.listen(server_port, server_ip_address, function(){ 
    console.log('listening on *:'+server_port); 
}); 

я сделал следующее уже:

  • Изменение URL на стороне клиента для: WS: //www.abcd.com : 8000/
  • замена io.connect с гипергликемией
  • переключения порта 80
  • и многое другое.

ОШИБКА:

  • Если я оставить заявление, как: вар сокет = IO(); ОШИБКА Соединение с WebSocket с 'ws: //www.abcd.com/socket.io/? EIO = 3 & transport = websocket & sid = tyEDb4eVF0Nz0wb-AAAF' не удалось: Ошибка при рукопожатии WebSocket: Неожиданный код ответа: 400
  • Если я объявляю что-то вроде var socket = io.connect ('http://www.abcd.com:8000/', 'forceNew': true); Ошибкой является GET http://www.abcd.com:8000/socket.io/?EIO=3&transport=polling&t=1430395346761-6 сети :: ERR_CONNECTION_TIMED_OUT

ответ

0

Она смотрит на меня, как вы не являетесь обязательной для вашего WebSockets к порту IP &, после server.listen, попробуйте это:

var socket = io.listen(server); 
+0

его все еще дает tje ту же ошибку. –

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