Socket.io + Express | io.on('连接'...)未被解雇

时间:2015-06-03 09:06:35

标签: node.js sockets express socket.io

我有一点Express-Server,想要启动一些socket.io连接

这是我在服务器端的内容:

var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

app.all('*', function(req, res, next) {
    res.header("Content-Type", "text/plain");
    res.header("Access-Control-Allow-Origin", "*");
    next();
});

app.get('/run', function(req, res, next){
    io.on('connection', function (socket) {
       socket.on('client_data', function (data) {
          console.log('Message: '+data.message);
       });
    });
});
server.listen(8002, function() {
    console.log('Listening on port %d', server.address().port);
});

以下是我在客户端的内容:

<script src="http://host:8002/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect("http://host:8002");
  socket.emit('client_data', {'message': 'hello there!'});
</script>

现在,当我进入我的浏览器并输入http://localhost:8002/run时,它会跳转到我的“app.get('/ run'..)” - 部分在我服务器上的app.js ...但是不幸的是它不会执行io.on('connection'..){} - 部分,因此我不会在我的控制台中从客户端发送输出。关于这个问题的一些想法或解决方案?

编辑:好的,它必须与事实有关,我的io.on('connection')正在运行app.get('/ run') - Part。因为如果我把我的io.on('连接') - 部分放在server.listen() - Part ...它的工作原理。有人知道为什么它会在里面工作吗?

0 个答案:

没有答案