2015-09-04 50 views
0

我一直在试图弄清楚为什么我不能得到任何发射显示在我的终端,似乎一切运行良好....除看到散发。这里是我的代码似乎无法得到插座io显示任何发射

var express = require('express'); 
var path = require('path'); 

// Create a new Express application 
var app = express(); 

var views = path.join(process.cwd(), 'views'); 
app.use("/static", express.static("public")); 

// Create an http server with Node's HTTP module. 
// Pass it the Express application, and listen on port 3000. 
var server = require('http').createServer(app).listen(3000, function() { 
    console.log('listening on port ' + 3000) 
}); 

// Instantiate Socket.IO hand have it listen on the Express/HTTP server 
var io = require('socket.io')(server); 

var game = require('./game'); 

app.get('/', function(req,res) { 
    res.sendFile(path.join(views, 'index.html')); 
}); 

io.on('connect', function(socket) { 
    io.emit('connection', { message: "You are connected!" }); 
    game.initGame(io, socket); 
    socket.emit('connected', { message: "You are connected!" }); 
    io.sockets.emit('test', 'test') 
}); 

任何帮助将是伟大的!

回答

0

发光不会自动打印。 socket.emit会将消息发送回客户端,而不是发送给终端。使用console.log("whatever")打印到终端:

io.on('connect', function(socket) { 
    console.log('Client connected'); 
    socket.on('test', function(data) { 
     console.log("Got message of type 'test'containing data:", data); 
    }); 
}); 
+0

我明白了。谢谢!我想我很困惑,因为在一个演示游戏中,我从github获得socket io。用console.logs打印在终端中。但是,当我打开端口时,它也表示“info - socket io started”。我似乎无法在我的项目中做到这一点。也许它必须做些什么。 –

+0

它们可能已经激活了Socket.IO的[调试功能](http://socket.io/docs/logging-and-debugging/)。 –