Node.js 无法在openshift上部署nodejs套接字io应用程序

Node.js 无法在openshift上部署nodejs套接字io应用程序,node.js,socket.io,openshift,Node.js,Socket.io,Openshift,我有一个基于nodejs和socketio的简单聊天应用程序。在当地效果很好。但我在将其部署到openshift时面临一些问题 我已经阅读并实现了几乎所有与堆栈溢出相关的线程。还没有进展 客户端(index.html): <script src="/socket.io/socket.io.js"></script> var socket = io.connect("http://www.abcd.com:8000/"); //Express initializes a

我有一个基于nodejs和socketio的简单聊天应用程序。在当地效果很好。但我在将其部署到openshift时面临一些问题

我已经阅读并实现了几乎所有与堆栈溢出相关的线程。还没有进展

客户端(index.html):

<script src="/socket.io/socket.io.js"></script>
var socket = io.connect("http://www.abcd.com:8000/"); 
//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替换io.connect
  • 将端口切换到80
  • 还有很多其他的事情
错误

  • 如果我将声明保留为:var socket=io();错误是 到“ws://www.abcd.com/socket.io/?EIO=3&transport=WebSocket&sid=tyEDb4eVF0Nz0wb AAAF”的WebSocket连接失败:WebSocket握手期间出错:意外响应代码:400
  • 如果我声明类似于var socket=io.connect(“”,'forceNew':true);错误为GET net::ERR\u连接\u超时

    • 在我看来,您没有将WebSocket绑定到ip和端口, 在您的server.listen之后,请尝试以下操作:

      var socket = io.listen(server);