у меня есть этот простой кусок кода в файл яваскрипт server.js обслуживаемого узла:Передачи данных в таймере с помощью JS WebRTC аварий при перегрузке до конца
function multiStep(myConnection, data) {
var i=0;
var myTimer=setInterval(function() {
if (i<data.length){
var element=JSON.stringify(data[i]);
console.log("mando elemento: "+element);
myConnection.send(element);
i++;
}
}, 3000);
}
//require our websocket library
clearInterval(myTimer);
var WebSocketServer = require('ws').Server;
//creating a websocket server at port 9090
var wss = new WebSocketServer({port: 9090});
//when a user connects to our sever
wss.on('connection', function(connection) {
loadJSON(function(response) {
//when server gets a message from a connected user
connection.on('message', function(message){
console.log("Got message from a user:", message);
});
var json = JSON.parse(response);
multiStep(connection, json, 0);
})
});
loadJSON просто загружает файл в формате JSON данных из другой веб-сайт. Когда я запускаю клиентское приложение в первый раз или когда тайм-аут закончился, все идет хорошо. Тем не менее, если я перезагрузить страницу в то время как тайм-аут не закончил я получаю сбой при попытке использовать соединение старой страницы на сервере с докладом:
/var/www/html/MATERIALI/phonegap/node_modules/ws/lib/WebSocket.js:219 else throw new Error('not opened'); ^Error: not opened at WebSocket.send (/var/www/html/MATERIALI/phonegap/node_modules/ws/lib/WebSocket.js:219:16) at null. (/var/www/html/MATERIALI/phonegap/WebRTC/server.js:36:9) at wrapper [as _onTimeout] (timers.js:261:14) at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)
как на самом деле я мог бы просто игнорировать старый сеанс, если страница перезагружена. Как избежать сбоя сервера в этих обстоятельствах?
Учитывая, что я помог вам дойти до этого момента, вы могли бы поддержать мой ответ, пожалуйста? – Mikkel
Ответ вы на самом деле не очень полезны, если вы не повышаете меня, что такое comamnd, чтобы проверить достоверность консенсуса ...Я afarid Я должен был найти решение сам, чтобы избежать аварии. –