使用web-msg-sender服务端发送给客户端消息重复

一片叶子

客户端接收消息时 客户端会出现两三次重复的消息。
 
服务端的php 在附件里。  不知道是啥原因出现的这个问题
 
没有设置心跳也没有设置定时发送

2946 3 0
3个回答

walkor

在emit的地方记录下日志看下触发了几次,可能有地方向web-msg-sender的内部接口推送了多次数据,导致消息重复发送。

  • 一片叶子 2018-10-31

    是每收到一次就触发一次。 收到重复消息的时间不一样。

  • 一片叶子 2018-10-31

    需要给客户端的文件给你看看吗

一片叶子
function addchat(content,type,yuyintime){
    if(cansend == 1){
        cansend = 0;
        $.ajax({
            url:"{php echo $this->createMobileUrl('addchat')}",
            type:'post',
            data:{
                toopenid:touid,
                content:content,
                fkid:{$hasfanskefu},
                qudao:'{$qudao}',
                goodsid:{$goodsid},
                type:type,
                yuyintime:yuyintime,
            },
            dataType:'json',
            success:function(data){
                if(data.error == 0){
                    var returnmsg = replace_em(data.content);
                    returnmsg = '<div class="time text-c">'+data.datetime+'</div>'
                        +'<div class="right flex">'
                        +'<div class="con flex">'
                        +'<div class="kongflex text-r">'+data.yuyincon+'</div>'
                        + returnmsg
                        +'<div class="triangle-right"></div>'
                        +'</div>'
                        +'<img src="{$hasfanskefu}" class="avatar" />'
                        +'</div>';
                    $('#chatcon').append(returnmsg).animate({scrollTop:10000000},300);
                    $('#chatcontent').val("");

                    if(data.jqr == 1){
                        var jrqmsg = '<div class="time text-c">'+data.jqrtime+'</div>'
                            +'<div class="left flex">'
                            +'<img src="'+data.jqravatar+'" class="avatar" />'
                            +'<div class="con flex">'
                            +'<div class="triangle-left"></div>'
                            +'<div class="concon">'+data.jqrcontent+'</div>'
                            +'<div class="kongflex"></div>'
                            +'</div>'
                            +'</div>';
                        $('#chatcon').append(jrqmsg).animate({scrollTop:10000000},300);
                    }

                    $.ajax({
                        url:sendurl,
                        type:'get',
                        data:{
                            content:content,
                            msgtype:type,
                            yuyintime:yuyintime,
                            chatid:data.chatid,
                            //newavatar:'{$hasfanskefu}',
                            //newnickname:'{$hasfanskefu}',
                        },
                        dataType:'jsonp',
                        success:function(data){
                            console.log(data)
                        }
                    });
                }else{
                    console.log(data)
                    $.alert(data.msg);
                }
                cansend = 1;
            }
        });
        console.log("发送成功");
    }
}
  • 暂无评论
walkor

自己记录日志定位下吧,有些代码肉眼很难定位。

  • 一片叶子 2018-10-31

    怎么做日记定位? 定位哪些内容。。。。。。 新手刚刚入门

年代过于久远,无法发表回答
🔝