socket.io跨域问题

简介: socket.io跨域问题

问题背景简介



linux服务器上,nginx代理80端口,指向打包好的项目dist文件夹下的入口文件index.html,而用nodejs的express编写的服务器js运行在3000端口上,也就是包括socket.io的包也在3000端口上,客户端也就是其他主机访问我linux的端口80进入我的index.html,其中用script引用3000端口包时:

<script src="http://xx.xxx.xxx.xx:3000/socket.io/socket.io.js"></script>

会存在80端口到3000端口同ip不同端口的跨域问题

解决



就是在创建io的时候后面加上{ cors: true }:

var io = require('socket.io')(http,{ cors: true })

以上是CommonJS的引入方式,顺便说一下ES6模块如何引入socket.io:

import { Server } from "socket.io";
const io = new Server(http,{ cors: true });


相关文章
|
6月前
|
JavaScript
socket.io
socket.io
31 0
|
6月前
|
网络协议 Java Linux
socket IO端口复用
socket IO端口复用
118 0
|
JavaScript
socket.io实现即时通讯
socket.io实现即时通讯
90 0
|
XML Java 数据格式
Java,InputStream,Socket阻塞.(关于HTTP请求的IO问题自我总结)
Java,InputStream,Socket阻塞.(关于HTTP请求的IO问题自我总结)
333 0
|
前端开发
socket.io 集群版
socket.io 集群版
321 0
|
监控 网络协议 NoSQL
socket&io高性能
最近看到篇好文章《IO多路复用》,记得早期学习时,也去探索过select、poll、epoll的区别,但后来也是没有及时记录总结,也忘记了,学习似乎就是在记忆与忘记中徘徊,最后在心中留下的火种,是熄灭还是燎原就看记忆与忘记间的博弈 socket与io一对兄弟,有socket地方必然有io,io数据也大多来源于socket,回顾这两方面的知识点,大致梳理一下
180 0
socket&io高性能
【NIO】NIO实现HTTP服务器
【NIO】NIO实现HTTP服务器
【NIO】NIO实现HTTP服务器
|
缓存 移动开发 开发框架
《 Socket.IO》 解决 WebSocket 通信!
本文主要介绍 Socket.IO
467 0
|
存储 缓存 自然语言处理
IO和socket编程
 第一次听到中间件这个名词是在人人的时候,那时候的中间件是基于ICE的,用C++写的。推荐几度人脉,新鲜事(feed流),antispam这些当时觉得最有技术含量的工作都包含在中间件里。但是这些东西都已经很成熟了,因为是C++写的,需要专人维护,但是维护的人平时又很闲,非常鸡肋。所以在C++的哥哥都离职之后,就用java改写了。改写之后用的是hessian协议了,就开始说RPC了,不讲ICE了。有些东西,错过了就是一辈子。
IO和socket编程
|
监控 网络协议 Java
IO通信模型(三)多路复用IO
从非阻塞同步IO的介绍中可以发现,为每一个接入创建一个线程在请求很多的情况下不那么适用了,因为这会渐渐耗尽服务器的资源,人们也都意识到了这个 问题,因此终于有人发明了IO多路复用。最大的特点就是不需要开那么多的线程和进程。 多路复用IO是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。
212 0
IO通信模型(三)多路复用IO