微软边缘“WebSocket错误:networking错误12030”在一些不活动之后使用WebSocket

我正在Web应用程序中使用WebSockets。 在Chrome和Firefox中,这一切正常。 在Edge浏览器中,经过一段时间的不活动只是断开连接。 并在控制台上显示消息:

websocket错误:networking错误12030,与服务器的连接exception终止。

连接是永久的,对应用程序来说非常重要。

以下是服务器和客户端的部分:

服务器:

var options = { key: fs.readFileSync(path.join(__dirname, 'cert/server.key')), cert: fs.readFileSync(path.join(__dirname, 'cert/server.crt')) }; var server = https.createServer(options, app); wsServer = new WebSocketServer({ httpServer: server, autoAcceptConnections: false }); // Handle Socket Request wsServer.on('request', function(request) { try { // Do Stuff var connection = request.accept('echo-protocol', request.origin); // Do Stuff } catch(error) { console.log('Error during socket request: ', error); } // Handle Socket message connection.on('message', function(message) { try { // Do Stuff } catch(error) { console.log('Error while receiving message: ', error); } }); // Handle Socket disconnect connection.on('close', function(reasonCode, description) { try { // Make sure to remove closed connections from the global pool delete clients[connection.location][connection.id]; } catch(error) { console.log('Error while disconnecting socket: ', error); } }); }); // start server, listen to port server.listen(49152, function() { console.log((new Date()) + ' Server is listening on port 49152'); }); 

客户

 // connecting to the web server var socket = new WebSocket(socketProtocol + '://' + socketServer + '', 'echo-protocol'); // listening for server response socket.onmessage = function (message) { // Do Stuff }; // listening for any socket error socket.onerror = function (error) { console.log('WebSocket error: ' + error); }; // listening for connection to be open socket.onopen = function (e) { console.log('connected'); }; 

任何想法为什么发生这种情况

我已经想过使用socket.io和/或做一些轮询,所以连接仍然存在。 但我希望有一种方法,我不必改变一切。

Interesting Posts