socketio:2.3.0 node:14.16.1
1、生成证书
openssl genrsa -des3 -out server.pass.key 2048
openssl rsa -in server.pass.key -out server.key
openssl req -new -key server.key -out server.csr -subj “/C=CN/ST=HangZhou/L=XIAOSHAN/O=localhost/OU=localhost/CN=localshot”
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt #生成证书
2、Coding
const port = 3000
const sport = 3001
const option = {
“key”: fs.readFileSync(’./ts_output/pem/server.key’, ‘utf8’),
“cert”: fs.readFileSync(’./ts_output/pem/server.crt’, ‘utf8’)
};
var httpServer = require(‘http’).createServer();
var httpsServer = require(‘https’).createServer(option);
var sio = require(‘socket.io’)(httpServer);
var ssio = require(‘socket.io’)(httpsServer);
sio.on(‘connection’, function(client){
console.log(’-----------no ssl-----------------’)
});
});
ssio.on(‘connection’, function(client){
console.log(’-----------ssl-----------------’)
});
});
httpServer.listen(port);
httpsServer.listen(sport)
console.log(‘sio Server listening at port %d’, port);
console.log(‘ssio Server listening at port %d’, sport);
// Uncaught exception handler
process.on(‘uncaughtException’, function(err) {
console.error(’ Caught exception: ’ + err.stack);
});
3、通过socketio client 访问:socketio 2.x
因为https需要对浏览器添加信任,所以操作前请现在浏览器输入: http://127.0.0.1:3001