socket.io 里面的io未定义?什么问题呀。。。

 #!/usr/bin/env node
var debug = require('debug')('my-application');
var app = require('../app');

app.set('port', process.env.PORT || 3000);

var server = app.listen(app.get('port'), function() {
  debug('Express server listening on port ' + server.address().port);
});
var chat = require('socket.io')(server);
console.log(chat)
io.on('connection', function(socket){
  console.log('a user connected');})

我用的是express3 在www文件里添加了

var chat = require('socket.io')(server);
console.log(chat)
io.on('connection', function(socket){
  console.log('a user connected');})

为什么说io未定义呢??

阅读 3.8k
2 个回答

引入socket.io.js了?

按照你的写法,你应该用

chat.on('connection',......

标准的文档示范
http://socket.io/docs/
Using with the Express framework
Server (app.js)

var app = require('express').createServer();
var io = require('socket.io')(app);

app.listen(80);

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

io.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

Client (index.html)

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题