NodeJS WebSocket服务器

qxgroojn  于 2022-11-04  发布在  Node.js
关注(0)|答案(1)|浏览(175)

我尝试使用WebSocket进行P2P聊天。
在本地,安装工作正常,但在生产环境中,控制台会显示以下错误消息:
与“wss://mysite.com/8080”的WebSocket连接失败:WebSocket握手期间出错:意外响应代码:404
下面是本地服务器的代码,它可以正常工作:

const Socket = require("websocket").server
const http = require("http")

const server = http.createServer((req, res) => {})

server.listen(8080, () => {
    console.log("Listening on port 8080")
})

const webSocket = new Socket({ httpServer: server })

和生产,

const Socket = require("websocket").server

const https = require("https")

const server = https.createServer((req, res) => {})

server.listen(8080, () => {
    console.log("Listening on port 8080")
})

const webSocket = new Socket({ httpServer: server })

也是JS代码
第一个
我哪里做错了?

2hh7jdfx

2hh7jdfx1#

ws://127.0.0.1:8080
^^            ^

wss://mysite.com/8080
^^^             ^

看到区别了吗?在本地服务器上,您使用的是ws,表示未加密的WebSocket。在远程服务器上,您使用的是wss,表示使用HTTPS的websocket。如果您的服务器没有设置为处理加密的HTTPS连接,则连接将失败。
另外,端口号在:之后-通过写/,您说使用默认端口号,对于HTTPS是443,对于HTTP是80,而/8080是路径,我认为您的服务器并不关心它。

相关问题