如何在socket.io中调用函数?

时间:2013-09-11 05:28:06

标签: node.js redis socket.io publish-subscribe

大家好,这是我在socket.io服务器端的代码,我不知道如何在客户端调用这个函数。你能帮我或者提供如何调用这个函数的代码:

io.sockets.on('connection', function (socket){

    sub.on('subscribe', function (channel) {
        pub.publish('Privatex','Test Message 1');
        pub.publish('Privatex','Test Message 2');
        pub.publish('Privatex','Test Message 3');
    });

    sub.on('message', function (channel, message) {
        console.log(channel + ':' + message);
            sub.unsubscribe();
            pub.end();
            sub.end();
    });

    sub.incr('Channel Test');
    sub.incr('Privatex');
});

1 个答案:

答案 0 :(得分:1)

请先咨询How-To-Use部分。

要在客户端调用此代码,您只需使用此代码,假设已在服务器端配置了socket.io。

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');//path to socket.io
</script>

但是,让我们花两分钟时间看看发生了什么:这将在每个客户端连接上调用,因为它直接位于connection事件下。有时这不是最好的方法(因为客户端可能会短暂断开连接),最好从客户端发出事件。

客户代码

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');//path to socket.io
  socket.emit('my other event', { my: 'data' });
</script>

服务器代码

io.sockets.on('connection', function (socket) {
  socket.on('my other event', function (data) {
   //do something here
  });
});