代码之家  ›  专栏  ›  技术社区  ›  ElíasMarNev

插座Openshift 2上的io 2.0.3 ERR\u CONNECTION\u TIMED\u

  •  0
  • ElíasMarNev  · 技术社区  · 7 年前

    GET http://tfg-eliasmarnev.rhcloud.com:3000/socket.io/?EIO=3&transport=polling&t=LtWrbEF net::ERR_CONNECTION_TIMED_OUT
    

    这就是代码:

    服务器

    应用程序。js公司

    var fs = require('fs');
    var express = require('express');
    var app = express();
    var server = require('http').Server(app);
    var bodyParser = require ('body-parser');
    var jwt = require('jsonwebtoken'); 
    
    
    //App configuration
    var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';
    var server_port = process.env.OPENSHIFT_NODEJS_PORT || 3000;
    
    //Websockets con socket.io
    var io = require('socket.io')(server);
    
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({extended: true}));
    
    //Tanto el puerto como la ip son necesarios para OpenShift, 
    //de lo contrario intenta enlazar el servidor con la IP 0.0.0.0 y falla
    server.listen(server_port, server_ip_address, function () {
          console.log( "APP Listening on: " + server_ip_address + ":" + server_port )
        }); 
    
    // Permitir que algunos archivos sean enviados a través de HTTP
    app.use(express.static(__dirname + '/')); 
    
    // Serve GET on http://domain/
    app.get('/', function (req, res) {
      res.sendFile(__dirname + '/index.html');
    });
    
    //Iniciamos la conexión.
    io.on('connection', function (socket) { // Conexiones entrantes de clientes
    
        console.log('Usuario conectado');
    
        //Permanecemos a la escucha del evento coordenada
        socket.on('coordenada', function (data) { // listen to the event
    
            io.emit('notificacion', { // emit an event to all connected sockets
                Nombre: data.name
            });
        }); 
    });
    

    客户

    指数html

    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script> 
    

    app.factory('socket', ['$rootScope', function($rootScope) {
    
       //var socket = io.connect('http://tfg-eliasmarnev.rhcloud.com:3000/', {'forceNew':true });   
       //var socket = io.connect(); 
         var socket = io.connect('http://tfg-eliasmarnev.rhcloud.com:3000');
    
      return {
        on: function(eventName, callback){
          socket.on(eventName, callback);
        },
        emit: function(eventName, data) {
          socket.emit(eventName, data);
        }
      };
    }]);
    

    我不知道问题出在哪里,知道吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Will Gordon    7 年前

    您应该通过端口8000访问WebSocket v2 documentation