我试图建立一个WebSocket(带有node.js / socket.io) HTTPS协议。但是客户端仍然继续进行轮询并且无法找到服务器,尽管服务器看起来很好并且听了。
这是我到目前为止所做的。你能看到它有什么问题吗?
我的假设是我使用的证书有些不对。我用plesk加密服务器"让我们加密"从这个程序拿出证书是对的吗?
----服务器端----
var fs = require('fs');
var express = require('/opt/plesk/node/7/bin/node_modules/express');
var https = require('https');
var app = express();
var server = https.createServer({
key: fs.readFileSync('file.pem'),
cert: fs.readFileSync('file.crt')
},app);
var io = require('/opt/plesk/node/7/bin/node_modules/socket.io').listen(server);
server.listen(8080);
----客户端-----
var socket = io('/', {rejectUnauthorized: false, secure:true});
这是客户不断给我的东西:
https://foo.de:8080/socket.io/?EIO=3&transport=polling&t=MF9zjE6
答案 0 :(得分:0)
由于您没有告诉您收到的错误消息,因此很难确定您的问题。也许您应该尝试让套接字工作,然后尝试实现https。
也许你应该尝试简化它。
服务器:
var express = require('express')
var app = express()
var server = require('http').Server(app)
var io = require('socket.io')(server)
server.listen(8080);
客户端:
var socket = io();
这段代码应该创建您的套接字和您的快速应用程序。然后你可以尝试将http更改为https,它应该可以正常工作。