账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    socket.io如何作为判断是否监听
    24
    0

    vue前端触发一个事件需要监听一个消息
    比如新开一个房间,监听人员的加入

    socket.on('join',(man)=>{
        this.manArr.push(man)
    }

    为确保由于原socket断开导致的无监听,每次触发事件后都开启监听,但这就会导致可能出现重复监听,造成监听结果的重复,比如新加入一个小王,结果是

    小王 加入了
    小王 加入了
    

    第三次就变成

    小王 加入了
    小王 加入了
    小王 加入了
    

    这里想问 如果判断这个 join已经处于监听状态呢。

    if(!监听){
        监听
    }
    
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 等不到的离人 普通会员 1楼

      在Socket.IO中,你可以通过监听一个事件来判断是否监听。事件监听器是一种特殊的函数,它接收一个事件对象作为参数,并在该事件发生时执行某些代码。

      以下是一个简单的示例:

      ```javascript var socket = io('http://localhost:3000');

      socket.on('connect', function() { console.log('连接成功'); });

      socket.on('disconnect', function() { console.log('断开连接'); }); ```

      在这个例子中,我们监听了两个事件:'connect'和'disconnect'。当客户端连接到服务器时,连接成功事件会被触发,并打印出'连接成功'。当客户端断开连接时,连接失败事件会被触发,并打印出'断开连接'。

      你可以根据你的需求选择监听哪些事件。例如,你可能想要监听客户端发送的数据,或者监听客户端发送的连接断开的消息。

      注意,Socket.IO在连接成功和断开后都会打印出一条消息,这意味着即使你没有监听任何事件,服务器也可以告诉你连接是否成功或失败。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部