node.js - nodejs 并对 socket.io 的不同端口做出反应?
问题描述
我在端口 3000 上启动了我的项目,在端口 8080 上启动了 nodejs 服务器
如果服务器套接字位于不同的端口上,如何将它们与客户端连接?
解决方案
我最近做了一些事情,所以我会提出同样的建议。你可以使用这样的东西:
const express = require("express");
const { createProxyMiddleware } = require('http-proxy-middleware');
const http = require("http").Server(app);
const io = require("socket.io")(http);
const port = 3100;
app.use('/', createProxyMiddleware({
target: "http://localhost:3000",
changeOrigin: true
}));
const onConnection = socket => {
socket.on("channel", data => socket.broadcast.emit("channel", data));
};
io.on("connection", onConnection);
http.listen(port, () => {
console.log("Server started in port " + port + ".");
});
如果你只是想运行一个普通的 Node JS + React JS 服务器来CORS
绕过,你可以使用以下proxy
选项package.json
:
"proxy": "http://my-api-server:port",
有关更多详细信息,您可以阅读Using React's Proxy to get ahead CORS & use HTTPS for API calls。
推荐阅读
- python-requests - 如何在不使用 Smartsheet python SDK 的情况下编写 Python 代码
- html - 悬停时文本来自两侧
- reactjs - React 中的 setState 不会更新
- sql - 从另一个表更新 SQL
- android - android中使用日期选择器的日期选择问题
- laravel - 如何在没有登录身份验证的情况下保护移动应用程序的 API
- python - 为 Google pytrends 找到合适的关键字和类别
- powerbi - 使用命令提示符在 PowerBI(或任何其他方法)中识别工作区/数据集/数据流/报告等
- python - 使用 TensorFlow 进行内存高效的滑动窗口序列学习
- python - 通过电报机器人设置聊天权限