Node.js Ошибка EACCESS OpenShift EACCESS

#javascript #node.js #socket.io #openshift #socket.io-1.0

#javascript #node.js #socket.io #openshift #socket.io-1.0

Вопрос:

Я не могу запустить приложение правильно, постоянно получая ошибку EACCESS:

 Error: listen EACCES
  

Вот код:

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

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen(server_port);

app.get('/', function (req, res) {
    res.sendfile(__dirname   '/index.html');
});

io.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
    socket.on('my other event', function (data) {
        console.log(data);
    });
});
  

Здесь нет ничего особенного, переменные узла OpenShift используются правильно.

Ответ №1:

следует использовать server_ip_address . В противном случае он использует IP-адрес по умолчанию в OpenShift, который равен 127.0.0.1. Изменить с:

 server.listen(server_port);
  

Для:

 server.listen(server_port, server_ip_address);
  

или

 server.listen(server_port, server_ip_address, function() {
  console.log('%s: Node server started on %s:%d ...',
             new Date(), server_ip_address, server_port);
});