Я использую Laravel Echo and Pusher и в моем Laravel я использую этот пакет
Все работает, кроме того, оно открывает новое соединение каждый раз, когда мой домашний экран перезагружается. И какое бы сообщение ни транслировалось с laravel, оно также транслируется на ранее установленные соединения. Вот то, что у меня сейчас есть.
HomeScreen. js
import echo from '../services/SocketConfig'
//open sockets and listen for events on channel
let client = new echo();
client.channel('status').listen('UpdateSTBStatus', (e) => {
this.reInitSTB()
});
SocketConfig. js:
import PusherNative from 'pusher-js/react-native';
import Echo from 'laravel-echo';
export default () => {
let options = {
encrypted: false,
key: 'qwerty',
wsHost: '192.168.100.15',
wsPort: 6001,
disableStats: true,
//authEndpoint: 'projectb.io' +'/broadcasting/auth',
logToConsole: true,
};
let PusherClient = new PusherNative(options.key, options);
return new Echo({
broadcaster: 'pusher',
host: '192.168.100.15:6001',
client: PusherClient,
});
};
Все работает как положено, но когда я переосмысливаю sh домашний экран, он открывает новое соединение и, когда сообщение транслируется, он также транслирует на ранее сделанные соединения.
Это так должно работать? Как я могу закрыть неиспользуемые соединения? Что может быть возможным решением. Спасибо!