gpt4 book ai didi

node.js - GET http ://localhost:8080/socket. io/?EIO=3&transport=polling&t=McNiz_D 404(未找到)

转载 作者:搜寻专家 更新时间:2023-11-01 00:48:40 27 4
gpt4 key购买 nike

我在 nodejs 中创建一个基于 websocket 的服务器作为后端和 ionic 4 应用程序作为前端,当我尝试连接到我的服务器时出现此错误

GET http://localhost:8080/socket.io/?EIO=3&transport=polling&t=McNiz_D 404(未找到)

这是我的服务器代码

const PORT = 8080;
const WebSocket = require("ws").Server;
var express = require("express");
var app = express();

app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "http://localhost:8100");
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
res.header("Access-Control-Allow-Credentials", true);
next();
});
var http = require("http").createServer(app);

http.listen(PORT, "localhost", function() {
console.log("listening in http://localhost:" + PORT);
});
const wss = new WebSocket({ server: http });
wss.on("connection", function connection(ws) {
ws.on("message", function incoming(message) {
console.log("received: %s", message);
});
ws.send("I am server ^_^");
});

最佳答案

对于 future 的引用和你想要更多的澄清,这是因为在后端使用 websockets 协议(protocol)而在前端使用 socket.io 而不是普通的 WebSockets 客户端。


当 socket.io 想要连接到服务器时 upgrade请求发送到http://localhost:8080/socket.io/?EIO=3&transport=polling&t=McNiz_D 404这个路径。由于后端没有配置 socket io 服务器,显然 express 服务器发送 404 not found 而不是升级响应。

关于node.js - GET http ://localhost:8080/socket. io/?EIO=3&transport=polling&t=McNiz_D 404(未找到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55249839/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com