项目基本介绍:使用React,webpack,socket.io-client, Node.js, Express, socket.io 等技术,采用前后端分离开发。
实现项目中的聊天室时遇到报错,一直请求下面的连接:
GET http://localhost:3030/socket.io/?EIO=3&transport=polling&t=N8HrzIR 404 (Not Found)
Failed to load http://localhost:3030/socket.io/?EIO=3&transport=polling&t=N8HrzIR: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:3000' is therefore not allowed access. The response had HTTP status code 404.
问题大意指跨域了,可WebSocket是可以跨域的。
还不太清楚原因是什么,若有知道原因的朋友请指教,但最终解决了,还是记录一下,如下:
给socket.io赋值一个新的端口。
const app = express()
const server = require('http').createServer(app);
const io = require('socket.io')(server);
io.listen(3031) //!!!