Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 尝试代理websocket,但setupProxy中未建立连接_Node.js_Reactjs_Websocket_Reverse Proxy_Http Proxy - Fatal编程技术网

Node.js 尝试代理websocket,但setupProxy中未建立连接

Node.js 尝试代理websocket,但setupProxy中未建立连接,node.js,reactjs,websocket,reverse-proxy,http-proxy,Node.js,Reactjs,Websocket,Reverse Proxy,Http Proxy,我有我的React应用程序,它是由setupProxy.js安装的,它应该代理我的ws后端。但不知何故,连接并未建立,但http和https请求工作正常。附加代码示例: setupProxy.js const{createProxyMiddleware}=require('http-proxy-middleware')) module.exports=(应用程序)=>{ 应用程序使用( “/sockets”, CreateProxy中间件({ 目标:“ws://localhost:8080”,

我有我的React应用程序,它是由setupProxy.js安装的,它应该代理我的ws后端。但不知何故,连接并未建立,但http和https请求工作正常。附加代码示例:
setupProxy.js

const{createProxyMiddleware}=require('http-proxy-middleware'))
module.exports=(应用程序)=>{
应用程序使用(
“/sockets”,
CreateProxy中间件({
目标:“ws://localhost:8080”,
pathRewrite:(path)=>path.replace('/sockets','),
安全:错误,
更改来源:正确
})
);
应用程序使用(
“/你好”,
CreateProxy中间件({
目标:'http://localhost:8080/hello',
pathRewrite:(path)=>path.replace('/hello',''),
安全:错误,
更改来源:正确
})
)
}
App.tsx

从“React”导入React;
常量应用程序:React.FC=()=>{
React.useffect(()=>{
新的WebSocket(`ws://${window.location.host}/sockets`);
fetch('/hello')。然后(value=>value.json())。然后(res=>console.log('response:',res))
}, [])
返回(
你好,世界
)
}
导出默认应用程序;
后端/index.js

const express=require('express');
常量app=express();
const http=require('http');
const server=http.createServer(app);
const{Server}=require(“socket.io”);
const io=新服务器(服务器);
app.get('/hello',(req,res)=>res.send({hello:'hello'}))
io.on('连接',(套接字)=>{
log(“已连接的用户”);
socket.disconnect();
});
听(8080,()=>{
log('监听*:8080');
});

提前感谢您,您的setupProxy.js是如何进入游戏的?您的意思是什么?我不明白,在这一行
ws://${window.location.host}/sockets
中,我请求代理连接到后端您的代码中引用了
setupProxy.js
?它是由应用程序设置中的react脚本触发的