首页 > 解决方案 > 客户端上的 Socket io(服务器)开始监听事件

问题描述

https://github.com/marataziat/drawify在我的 GitHub 项目中,socket io 服务器不等待客户端配置的事件监听器。我的应用服务器向每个用户的连接/断开连接发送用户计数:

io.on('connection', function (socket) {
    ..
   socket.broadcast.emit('users', { count: clientCount })
    ..
   socket.on('disconnect', function (msg) {
    socket.broadcast.emit('users', { count: clientCount });
   })

服务器等待客户端配置他的事件监听器怎么办?

标签: node.jsexpresssocket.io

解决方案


在您的客户端中,您可以检测连接是否完成(请参阅),然后触发事件以通知服务器。

示例:客户端:

socket.on('connect', () => {
    socket.emit('client-connected');
});

服务器端:

socket.on('client-connected', function () {
    socket.broadcast.emit('users', { count: clientCount });
})

推荐阅读