2011-04-05 137 views
2

我打算使用Rails應用程序來處理由node.js服務器和Socket.io處理的實時數據。Rails和Socket.io(node.js)

在Socket.io網站,它說:

如果你不利用Node.js的服務 您的文件,確保設置的的 全球WEB_SOCKET_SWF_LOCATION到 位置WebSocketMain.swf 文件。

如果我使用rails來提供靜態文件,這意味着什麼?

此外,從常見問題:

我要承載Socket.IO客戶自己:

如果你不依靠服務Socket.IO客戶方 JavaScript文件的Node.js,請確保您設置 的WEB_SOCKET_SWF_LOCATION權 包括與WebSocketMain.swf 的 位置這是爲了要求Socket.IO找到對Flash的WebSocket所需的.swf文件socket.io.js後。

但是,我不太明白。

謝謝。

+1

我相信這意味着在SWF源代碼中,您需要將「WEB_SOCKET_SWF_LOCATION」更改爲指向node.js所服務數據的位置 – RobertPitt 2011-04-05 11:52:40

回答

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正在使用不同的端口或路徑爲它服務。