node.js - 客户端上的 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 });
})
服务器等待客户端配置他的事件监听器怎么办?
解决方案
在您的客户端中,您可以检测连接是否完成(请参阅),然后触发事件以通知服务器。
示例:客户端:
socket.on('connect', () => {
socket.emit('client-connected');
});
服务器端:
socket.on('client-connected', function () {
socket.broadcast.emit('users', { count: clientCount });
})
推荐阅读
- regex - 用于交替的正则表达式分组规则
- reactjs - 如何获取 React Native 元素的样式值?
- python - 为什么 json 库不接受我的报价?
- unity3d - 使用上下文 UnityEngine.Object 引发异常
- javascript - 如何在 React Native 的父组件内触发子组件 onPress
- c# - 如何使用自定义线条制作自定义按钮形状
- vba - VBA - MS Word 中的复制按钮
- amazon-web-services - 如何实现与 AWS EC2 的 10K 并发连接?
- javascript - 为每个新输入创建一个变量
- sql - 获取正确数据的 SQL 查询