gpt4 book ai didi

node.js - Socket.IO 问题与非法来源?

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

我正在使用:“socket.io”:“~0.9.10”

当我访问端口 80 上托管的 apache Web 服务器托管的 client.html 页面时,我遇到了此问题:

XMLHttpRequest cannot load http://localhost:5000/socket.io/1/?t=1348624895534. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

我在服务器端运行 SocketIO,端口为 5000,如下所示:

io = io.listen(5000);
io.set("origins","*");

但是,每次加载 apache client.html 页面时,我都会在 SocketIO 服务器控制台中看到:

warn: illegal origin: http://localhost

如何解决这个问题?

最佳答案

你正在做CORS .

您收到的错误来自 Socket.IO 似乎使用 XHR 而不是 Websockets。这就是 socket.IO 在 websockets 不可用时所做的事情,它使用另一个协议(protocol),FlashSockets,XHR-polling...等。

您需要在 apache 服务器上设置一个 header ,以允许对另一个网站(这里是您的 Socket.io 服务器)进行查询。

这是一个how to .

如果您只使用一台服务器,这对您来说会简单得多。您可以使用 Express 来传送静态 html 文件。 Here是一个演示/教程应用程序,可轻松开始使用 Socket.IO + Express。

此演示是 boiler plate插入 dotCloud,因此如果您想轻松部署,请按照这些说明进行操作。

关于node.js - Socket.IO 问题与非法来源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593589/

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