gpt4 book ai didi

node.js - 未找到/socket.io/?EIO=3。 404

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:33 25 4
gpt4 key购买 nike

我使用 Node js Express 和 socket.io 以及 apache 作为我的反向代理。以下是我的反向代理配置。

ProxyPass /chatApp http://localhost:3000/
ProxyPassReverse /chatApp http://localhost:3000/

因此,我的应用程序将通过 https://server.com/chatApp 访问。下面是我的 html 中套接字的定义方式。

var socket = io("https://server.com/chatApp")

浏览器抛出以下错误。

GET https://server.com/socket.io/?EIO=3&transport=polling&t=M9zVwUq 404 (Not Found)

但是,当我在浏览器中点击以下 URL 时,我得到了一些结果。

https://server.com/chatApp/socket.io/?EIO=3&transport=polling&t=M9zVwUq

尽管如此,我在 html 中提到了 /chatApp(在定义套接字变量时),但我的应用程序并未调用 server.com/chatApp/socket.io/?EIO..... 它会跳过 URL 中的 chatApp,而仅调用 server.com/socket.io/?EIO...

我已经尝试过解决这个问题 post 。运气不好。

最佳答案

在socket.io 的io() 接口(interface)中,您传递的路径不会用作URL 上的路径。它用作您要连接的 namespace 。如果您想指定自定义路径,则需要使用单独的参数:

var socket = io("https://server.com", {path: "/chatApp/socket.io"});

如果这仍然不能满足您的需求,请检查 socket.io 正在使用的 URL(在 Chrome 调试器的网络选项卡中查看),然后相应地调整路径参数。

以下是 path 选项的 socket.io 文档引用:https://github.com/socketio/socket.io-client/blob/master/docs/API.md#with-custom-path .

请注意,路径的 /socket.io 部分是必需的,以便服务器可以正确识别 socket.io 请求。

关于node.js - 未找到/socket.io/?EIO=3。 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49591591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com