NodeJS 使用ViteJS和ReactJS部署后,Socket.IO(客户端)不工作

s2j5cfk0  于 2023-02-18  发布在  Node.js
关注(0)|答案(1)|浏览(175)

我正在ReactJS(18.2)中使用Vite(4.1)和Socket.IO-client(4.6)开发一个应用程序,在开发模式下运行(npm run dev)和部署后(npm run build + npm run preview),一切都在本地正常工作。
然而,当尝试在Github Pages或Netlify上使用此部署时,应用程序似乎根本无法运行任何与Socket. IO相关的功能。它也不会向控制台发送任何类型的错误,这使我无法了解可能出现的错误。
我做了不同的测试,在Github和Netlify上运行应用程序,在Vite上尝试了不同的配置,但问题仍然存在。
我找到的一个可能的解决方案是添加命令{ transports:将['websocket'] }添加到socker.io连接参数:

const socket = io(SERVERURL, {
  transports: ['websocket', 'polling', 'flashsocket'],
  path: '/SERVERPATH',
  forceNew: true,
  reconnectionAttempts: 3,
  timeout: 2000,
});

我想了解什么可能会出错,并尽快解决这个问题,所以任何帮助都非常感谢!

nvbavucw

nvbavucw1#

已通过将WebSocket服务器连接的URL从HTTP更改为WSS解决此问题。
常量套接字= io(wss:urlofserver.com,{传输:[“网络套接字”],路径:“/服务器路径”,强制新建:true,重新连接尝试次数:3、超时:2000年,});

相关问题