[英]Socket io CORS error Can't Connect Client To Nodejs Server Through Socket.io
I have working Nodejs server which I reach at localhost:4000 (working fine).我有可以在 localhost:4000 访问的 Nodejs 服务器(工作正常)。 I'm trying to connect a client through socketio to server outside of Nodejs.
我正在尝试通过 socketio 将客户端连接到 Nodejs 之外的服务器。 From localhost:8888/page (MAMP app) to a socket, but I'm getting
ERR_FAILED 200
in console.从 localhost:8888/page (MAMP 应用程序)到套接字,但我在控制台中得到
ERR_FAILED 200
。 There's something preventing from connecting to a socket.有东西阻止连接到套接字。
Nodejs server.js: Nodejs server.js:
import fetch from 'node-fetch';
import express from 'express';
const app = express();
import http from 'http';
const server = http.createServer(app);
import {Server} from 'socket.io';
const io = new Server(server);
import mysql from 'mysql';
{...}
server.listen('4000', () => {
console.log("Server running on port 4000");
});
a webpage outside of node app:节点应用程序之外的网页:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
<script src="https://cdn.socket.io/4.4.1/socket.io.min.js" integrity="sha384-fKnu0iswBIqkjxrhQCTZ7qlLHOFEgNkRmK2vaO/LbTZSXdJfAu6ewRBdwHPhBo/H" crossorigin="anonymous">
</script>
</script>
</head>
<body>
<script src="http://localhost:4000/socket.io/socket.io.js"></script>
<script>
const socket = io.connect('http://localhost:4000/');
</script>
</body>
</html>
Please help..请帮忙..
https://socket.io/docs/v3/handling-cors/ https://socket.io/docs/v3/handling-cors/
const io = require("socket.io")(httpServer, {
cors: {
origin: "https://example.com",
methods: ["GET", "POST"]
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.