2017-02-26 86 views
0

我一直在反对一些指南以及他们的文档,我似乎有一切正确的我的头。我希望当我导航到localhost:8080时,会触发连接事件并显示我的console.log消息。socket.io服务器没有听到连接事件(快递服务器)

// modules ================================================= 
var express = require('express'), 
    app = express(), 
    server = require('http').createServer(app), 
    io = require('socket.io')(server), 
    bodyParser = require('body-parser'), 
    methodOverride = require('method-override') 
; 

// config files ============================================ 
var db = require('./config/db'); 

// configuration =========================================== 
app.use(bodyParser.json()); 
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 
app.use(methodOverride('X-HTTP-Method-Override')); 

app.use(express.static(__dirname + '/public')); 

// routes ================================================= 
require('./app/routes')(app); 


io.on('connection', function(){ 
    console.log("Why won't this display anything"); 
}); 

// set port && listen 
var port = process.env.PORT || 8080; 
server.listen(port); 
console.log('Server connected on port ' + port); 

exports = module.exports = app; 
+0

什么客户端代码,你有一个正在使你的网页中的socket.io连接?客户端页面中是否显示错误? – jfriend00

+0

啊哈!就是这样。我认为我有一点领先于自己,我认为这部分不会影响,直到我听到'io.sockets.on'事件。 –

+0

我改变了'var socket = new io.Socket('localhost',{'port':8080}); socket.connect();'var'socket = io.connect();' –

回答

1

要查看服务器上的socket.io连接,你需要在你的网页,创建socket.io连接的客户端代码。

这通常是这样的:

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io(); 
    // do more things with the connection here 
</script>