Socket.IO连接事件未正确触发

时间:2013-01-18 14:22:24

标签: node.js

由于某种原因,当我从本地计算机连接时会触发连接事件。但是,当我从另一台机器连接时,它为套接字io提供服务,但它不会吐出任何反馈,而不会发出控制台输出,而应该触发它。

启动服务器时运行以下命令:

startSocketService : function(http,fn){
    ar pub = redis.createClient();
    var sub = redis.createClient();
    var client = redis.createClient();
    var service = io.listen(http); //http is just the ExpressJS service
    service.enable('browser client minification');
    service.enable('browser client etag');
    service.set('transports', [
        'websocket'
        , 'flashsocket'
        , 'htmlfile'
        , 'xhr-polling'
        , 'jsonp-polling'
    ]);
    service.set('store',new RedisStore({
        redisPub: pub,
        redisSub: sub,
        redisClient: client
    }));
    console.log('Socket service listening on port '+config.ports.http);
    service.sockets.on('connection',function(socket){
        console.log("Incoming Socket Connection -> ",socket.id);
        if(typeof fn === 'function'){fn(socket);} //this is just a callback
    });
}

当我从127.0.0.1连接时,console.log以及回调中的所有console.log只会触发。任何外部连接都不会输出到控制台,但它们似乎正在工作。它们似乎也有一个唯一的套接字ID。这仍然让我担心。我无法像这样测试任何东西!

1 个答案:

答案 0 :(得分:0)

问题是客户方面。我指的是127.0.0.1,所以在其他机器上,他们指向他们自己的本地实例。