微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我使用 laravel-websockets 和错误无法读取未定义的属性 'socketId'

如何解决我使用 laravel-websockets 和错误无法读取未定义的属性 'socketId'

我不使用 socket.io 但它给了我这样的错误

app.js:18695 未捕获的类型错误Cannot read property 'socketId' of undefined

我写在细节里,我更新了,我之前有SSL问题,所以无法以https连接,这个问题是我处理的时候出来的。

我使用 laravel-websockets, 推动者, laravel 回声

chat.blade.PHP

 var globalChannelId = 0;

var user_id = document.getElementById('user_id').value;

    function channel(elem) {
    
        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('Meta[name="csrf-token"]').attr('content')
            },url: '{{ route('channelControl') }}',cache: false,dataType: "json",data: {user_id: user_id,receiver_id: elem.id},method: 'POST',success: function (data) {
                if (data.status === 200) {
                    globalChannelId = data.data;
                    document.getElementById('channel_token').value = data.data;
                    document.getElementById('receiver_id').value = data.receiver_id;
    
                    var message = data.message;
                    console.log("message")
                    console.log(message)
    
                    var parentDiv = document.getElementById('parentDiv');
                    parentDiv.innerHTML = "";
                    var i;
                    for (i = 0; i < message.length; i++) {
                        var div = document.createElement('div');
                        div.classList = "d-flex";
                        var h6 = document.createElement('h6');
                        h6.innerHTML = message[i]["user"]["name"];
                        var span = document.createElement('span');
                        span.innerHTML = message[i]["message"];
                        div.appendChild(h6);
                        div.appendChild(span);
                        parentDiv.appendChild(div);
                    }
                    dinle()
                    scroll()
                } else {
                }
            }
        });
    }

var dongu;
function dinle() {
    Echo.disconnect();
    Echo.connect();

    // Echo.leave('privatechat.5D707F5F-CAAF-A775-1FE5-E1EA94208A22');
    console.log(globalChannelId);
    Echo.join('privatechat.' + globalChannelId)
        .here((user) => {
                var activeUser = document.getElementById('activeUser');
                activeUser.innerHTML = "";
            console.log(user);
            console.log("here");
            for(var i=0 ; i<user.length ; i++){
                var h6 = document.createElement('h6');
                h6.innerHTML = user[i].name;
                h6.id=user[i].id;
                activeUser.appendChild(h6);
            }
        })
        .joining((user) => {
            console.log('joining')
            var activeUser = document.getElementById('activeUser');
            var h6 = document.createElement('h6');
            h6.innerHTML = user.name;
            h6.id=user.id;
            activeUser.appendChild(h6);
        })
        .leaving((user) => {
            console.log('Leaving');
            document.getElementById(user.id).innerHTML = "";
            console.log(user);
        })
        .listen('PrivateChannelSend',(e) => {
            console.log(e.message.message)
            console.log(e)
            var parentDiv = document.getElementById('parentDiv');
            var div = document.createElement('div');
            div.classList = "d-flex";
            var h6 = document.createElement('h6');
            h6.innerHTML = e.message["user"]["name"];
            var span = document.createElement('span');
            span.innerHTML = e.message["message"];
            div.appendChild(h6);
            div.appendChild(span);
            parentDiv.appendChild(div);
            scroll()

        })

    .listenForWhisper('typing',response => {
        console.log('typing');
        document.getElementById('yaziyor').style.display = "block";
        console.log(response);
        if(response){
            clearTimeout(dongu);
        }
        dongu = setTimeout(function(){
            document.getElementById('yaziyor').style.display = "none";
            },3000);

    });
}

broadcasting.PHP

'pusher' => [
        'driver' => 'pusher','key' => env('PUSHER_APP_KEY'),'secret' => env('PUSHER_APP_SECRET'),'app_id' => env('PUSHER_APP_ID'),'options' => [
            'cluster' => env('PUSHER_APP_CLUSTER'),'useTLS' => true,'encrypted' => true,'scheme' => 'https','debug' => true,'curl_options' => [
                CURLOPT_SSL_VERIFYHOST => 0,CURLOPT_SSL_VERIFYPEER => 0,]
        ],],

websockets.PHP

'ssl' => [ 
      'apps' => [
    [
        'id' => env('PUSHER_APP_ID'),'name' => env('APP_NAME'),'enable_client_messages' => true,'enable_statistics' => true,'local_cert' => '/usr/local/psa/var/modules/letsencrypt/etc/live/sub.xsite.com.tr/fullchain.pem','local_pk' => '/usr/local/psa/var/modules/letsencrypt/etc/live/sub.xsite.com.tr/privkey.pem','passphrase' => null,'verify_peer' => false,

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。