ws_*_*dev 5 websocket node.js microsoft-edge
我在 Web 应用程序中使用 WebSockets。在 Chrome 和 Firefox 中,一切正常。在 Edge 浏览器中,一段时间不活动后,连接就会中断。并在控制台中出现消息:
websocket错误:网络错误12030,与服务器的连接异常终止。
对于应用程序来说,连接是永久性的很重要。
以下是服务器和客户端的部分:
服务器:
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 和/或进行某种轮询以保持连接。但我希望有一种方法,我不必改变一切。
| 归档时间: | 
 | 
| 查看次数: | 6222 次 | 
| 最近记录: |