2

我打算使用 Rails 应用程序来提供由 node.js 服务器和 Socket.io 处理的实时数据。

在 Socket.io 网站上,它说:

如果您不利用 Node.JS 来提供文件,请确保将全局设置WEB_SOCKET_SWF_LOCATION为 WebSocketMain.swf 文件的位置。

如果我使用 rails 来提供静态文件,这到底意味着什么?

此外,从常见问题解答:

我想自己托管 Socket.IO 客户端:

如果您不依赖 Node.JS 提供 Socket.IO 客户端 JavaScript 文件,请确保在将WEB_SOCKET_SWF_LOCATIONsocket.io.js 包含在 WebSocketMain.swf 的位置之后设置正确 这是 Socket.IO 查找所必需的Flash WebSocket 所需的 .swf 文件。

但是,我不太明白。

谢谢。

4

1 回答 1

7

WebSocketMain.swf 文件用作基于 Flash 的套接字通信的一部分,这是 WebSocket 传输不可用时的一种后备解决方案。这是一个静态文件,默认情况下它由 socket.io 在内部提供。但是,如果您打算在您的 RoR 应用程序中提供此文件,您应该设置WEB_SOCKET_SWF_LOCATION以便 socket.io 能够找到 WebSocketMain.swf 文件并在备用情况下使用它。

例如,如果您正在运行独立的 socket.io 服务器,它在端口 8080 上运行,并从那里提供文件。但是,如果您添加在端口 80 上运行的 RoR,并且您还希望使用 RoR 提供 socket.io 静态文件,那么您应该告知 socket.io WebSocketMain.swf 文件的位置,因为 RoR 使用不同的端口或路径服务它。

于 2011-04-05T12:45:20.553 回答