2014-03-25 67 views
2

我爲我的Rails應用程序使用Faye WebSockets,並試圖連接到http://www.websocket.org/echo.html的預先存在的websocket服務器。Rails WebSocket客戶端永遠不會觸發OnOpen

但是,我的websocket的OnOpen事件從來沒有被觸發,並且根本沒有任何錯誤或狀態。以下是導航代碼的樣子:

def make_websocket 
    if @@ws 
     return 
    end 
    p "Making the websocket" 
    ws = Faye::WebSocket::Client.new('ws://echo.websocket.org/') 

    ws.on :open do |event| 
     p "connection has been opened" 
     @@ws = ws 
     self.clear_queue 
    end 

    ws.on :message do |event| 
     p [:message, event.data] 
    end 

    ws.on :error do |event| 
     p "WebSockets error" 
     p [:error, event.data] 
    end 

    ws.on :close do |event| 
     p [:close, event.code, event.reason] 
     @@ws = nil 
    end 
end 

但是,唯一要在日誌文件中找到的是「Making the websocket」。有什麼明顯的我想念,還是有人有一個不同的寶石,我可以用作一個軌道服務器的客戶端? TIA。

回答

2

該代碼需要包裝在EM.run區塊

相關問題