如何解决我使用 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);
});
}
'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 举报,一经查实,本站将立刻删除。