且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

连接建立中的WebSocket错误:net :: ERR_CONNECTION_CLOSED

更新时间:2022-02-25 17:47:06

问题是我没有配置用于https / wss的WebSocket服务器。

The problem was that I was not configure the WebSocket server for https/wss.

这是我的不安全WebSocket服务器的安全版本,使用来自node.js的ws。

Here is the secure version of my insecure WebSocket server using "ws" from node.js.

var WebSocketServer = require('ws').Server,
  fs = require('fs');


var cfg = {
        ssl: true,
        port: 3000,
        ssl_key: '/path/to/apache.key',
        ssl_cert: '/path/to/apache.crt'
    };

var httpServ = ( cfg.ssl ) ? require('https') : require('http');

var app      = null;

var processRequest = function( req, res ) {

    res.writeHead(200);
    res.end("All glory to WebSockets!\n");
};

if ( cfg.ssl ) {

    app = httpServ.createServer({

        // providing server with  SSL key/cert
        key: fs.readFileSync( cfg.ssl_key ),
        cert: fs.readFileSync( cfg.ssl_cert )

    }, processRequest ).listen( cfg.port );

} else {

    app = httpServ.createServer( processRequest ).listen( cfg.port );
}

var wss = new WebSocketServer( { server: app } );

wss.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);

    ws.send(message);

  });

  ws.send('something');
});