node.js - 如何调用socket.io中的函数?

标签 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');
});

最佳答案

请咨询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
  });
});

关于node.js - 如何调用socket.io中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18733292/

相关文章:

java - Kubernetes statefulset 不使用存储类来创建持久卷

php - Laravel 失败的作业到 Redis

node.js - 为什么我的 Redis 实例每 2 分钟就会出现一次连接超时?

node.js - 使实时 socket.io Pong 游戏更快

javascript - 具有异步调用的循环内的可变范围

javascript - Node JS 中以字符串形式获取另一个程序的连续输出

node.js - 如何使用 RequireJS 运行 jasmine-node 测试

javascript - 如何识别 socket.io 中的用户?

node.js - 如何排除通过 pnpm 中的符号链接(symbolic link)安装包?

node.js - mongodb查询获取两个日期范围内的文档