簡體   English   中英

帶有ERR_SSL_VERSION_OR_CIPHER_MISMATCH的Socket.io和Express

[英]Socket.io and Express with ERR_SSL_VERSION_OR_CIPHER_MISMATCH

我正在嘗試在服務器中使用套接字Io,並且當我嘗試訪問該服務時,我在給定此錯誤的情況下創建了瀏覽器:

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

這是我的服務器代碼:

 'use strict'; const chalk = require('chalk'); const _ = require('lodash'); const fs = require('fs'); let options = { key: fs.readFileSync("privkey.pem"), cert: fs.readFileSync("cert.pem") }; const app = require('express')(options); const https = require('https').Server(app); const io = require('socket.io')(https,{origins:'*:*'}); const bodyParser = require('body-parser'); const multer = require('multer'); // v1.0.5 const upload = multer(); // for parsing multipart/form-data const sockets = {}; app.use(bodyParser.json()); // for parsing application/json app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded https.listen(3002, function () { console.log(chalk.yellow("Serviço rodando na porta 3002")); }); io.on('connection', function (socket) { console.log(chalk.green("Cliente Conectado")); sockets[socket.id] = socket; socket.on('disconnect', function () { console.log(chalk.red("Cliente Disconectado")); delete sockets[socket.id]; }); }); app.post('/atualizador', upload.array(), function (req, res) { _.each(sockets,function(socket,idSocket){ console.log(idSocket); socket.emit('posicao',req.body); }); res.send('Atualizador ON'); }); 

這是客戶端代碼:

 <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script> <script> const socket = io('https://localhost:3002/'); socket.on('posicao', function(msg){ console.log(msg); }); </script> 

此證書和私鑰已在我的域上使用,為什么不能在socket.io和express上使用?

您應該不傳遞任何東西來表達和將optionsapp傳遞給https.Server

const app = require('express')();
const https = require('https').Server(options, app);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM