出于某种原因,当我从本地计算机连接时会触发连接事件。但是当我从另一台机器连接时,它为套接字 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。这仍然让我担心。我不能像这样测试任何东西!