0

何らかの理由で、ローカルマシンから接続すると、接続イベントが発生します。しかし、別のマシンから接続すると、ソケット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
    });
}

そのconsole.log、およびコールバック内のすべてのconsole.logは、127.0.0.1から接続したときにのみ起動します。外部接続はコンソールに出力されませんが、機能しているようです。また、一意のソケットIDを持っているようです。これはまだ私を心配しています。このようにテストすることはできません!

4

1 に答える 1

0

問題はクライアント側でした。私は 127.0.0.1 を指していたので、他のマシンでは自分のローカル インスタンスを指していました。

于 2013-01-21T19:10:01.707 に答える