【问题标题】:HTTPS Server Can't Find SocketIO but Http canHTTPS 服务器找不到 SocketIO 但 Http 可以
【发布时间】:2020-09-23 01:26:54
【问题描述】:

我只是在学习如何在我的 nodejs Web 应用程序中使用 https,并且我正在尝试使用 Socket.IO。但是,当我尝试为客户端包含 socket.io js 时,出现错误。

我的客户端代码:

<html>
<head>
    <title></title>
</head>
<body>
<h1>Hi</h1>
<button onclick="newMSG()">Test</button>
<script type="text/javascript" src="//socket.io/socket.io.js"></script>
    <script type="text/javascript" src="src/client.js"></script>
</body>
</html>

客户端 JS:

const sock = io();

function newMSG(){
sock.emit('newPost', 'test','123','4:40am')
}

我的服务器端:

const socketio = require("socket.io");
var fs = require('fs');
var http = require('http');
var https = require('https');
var express = require('express');
var app = express();
const clientPath = `${__dirname}/../client/`;
app.use(express.static(clientPath));

const credentials = {
  key: fs.readFileSync('KEY'),
  cert: fs.readFileSync('CERT')
};

var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);

httpServer.listen(80);
httpsServer.listen(443);

const io = socketio(httpServer);

io.on('connection', (sock) => {
    sock.emit('messageI', 'Server: User Connected');
    console.log("New Connection");

    sock.on('newPost', (title,text, account, time) => {
        var info = {
            titleP: title,
            textP: text,
            accountP: account,
            timeP:time
        }
        savedData = JSON.stringify(info)
        fileName = title.substring(0,5) + ".json"
        fs.writeFile(filename, savedData)
    });
});


httpServer.on('error', (err) => {
    console.error('server error:', err);
});

值得注意的是,此问题仅在我访问我的网站的 HTTPS 版本时发生,而不是我的 HTTP 版本。任何帮助将不胜感激。

编辑: 我通过在脚本前添加第二个“/”解决了屏幕截图中的“中间”错误

【问题讨论】:

    标签: javascript node.js express https socket.io


    【解决方案1】:

    好的,我修好了。我只需要将socket.io从我的http服务器移动到服务器端的https

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-22
      • 2021-08-24
      • 1970-01-01
      • 2018-01-28
      • 2017-05-21
      • 2010-09-20
      • 2018-01-14
      • 2019-08-12
      相关资源
      最近更新 更多