我尝试使用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代码
第一个
我哪里做错了?
1条答案
按热度按时间2hh7jdfx1#
看到区别了吗?在本地服务器上,您使用的是
ws
,表示未加密的WebSocket。在远程服务器上,您使用的是wss
,表示使用HTTPS的websocket。如果您的服务器没有设置为处理加密的HTTPS连接,则连接将失败。另外,端口号在
:
之后-通过写/
,您说使用默认端口号,对于HTTPS是443,对于HTTP是80,而/8080
是路径,我认为您的服务器并不关心它。