【发布时间】:2017-02-27 00:37:14
【问题描述】:
我一直在抨击几个指南以及他们的文档,似乎我做的一切都是正确的。我希望当我导航到 localhost:8080 时会触发连接事件并且应该出现我的 console.log 消息。
// 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;
【问题讨论】:
-
您有哪些客户端代码在您的网页中建立 socket.io 连接?客户端页面是否显示任何错误?
-
啊哈!就是这样。我想我有点超前了,我认为这部分在我听
io.sockets.on事件之前并不重要。 -
我把
var socket = new io.Socket('localhost',{'port':8080}); socket.connect();改成了var socket = io.connect();