0

Я просто хочу подтвердить, что любые websocket (ы) открываются на странице &, подключенной к серверу с близким сразу (или в конце концов?), Когда пользователь закрыл вкладку. Поскольку консоль для страницы исчезает при закрытии вкладки, я не совсем уверен, как ее проверить.Websocket при закрытии окна/вкладки - Chrome

Причина, по которой я хочу подтвердить это, заключается в том, чтобы выяснить, можно ли вызвать вызов функции в событии закрытия websocket.

Тестирование этого только на Chrome и веб-соединениях подключаются к моему серверу узлов на Amazon EC2.

+0

Сам сокет будет закрыт, когда пользователь закроет вкладку (или перейдет на другую страницу), и сервер увидит, что соединение TCP снесено. Нет гарантии, что вы можете выполнить любой код в окне браузера, прежде чем это произойдет, кроме стандартных событий страницы «закрытие страницы сейчас». – jfriend00

+0

Думаю, мне нужно будет найти работу. Сейчас я работаю с pebrconnections webrtc, поэтому клиент - это сокет, который поможет ему найти удаленный клиент для подключения. Попытка отладить мою реализацию показала что-то похожее на ошибку - когда удаленный одноранговый узел отключается (через закрытие вкладки) другой партнер, участвующий в peerconnection, не получил событие разъединения. Это становится слишком специфичным, хотя я хотел убедиться, что это не было чем-то еще, прежде чем копать глубже. – JerryFox

ответ

0

Вы можете инициировать событие закрытия страницы с вашего сервера, используя следующий фрагмент.

var io = require('socket.io')('http'); 
io.on('connection', function(socket){ 
    socket.on('disconnect', function(){ 
    console.log('user disconnected'); 
    }); 
}); 

Но вы не можете активировать больше событий закрытия страницы с помощью этой функции.

+0

Я действительно не пытаюсь сделать что-либо серверную сторону. На стороне клиента я хотел удостовериться, что их привязка к другому клиенту webrtc была гарантирована закрытием в то время, когда их сокет закрывается сервером. – JerryFox

Смежные вопросы