我正在寫Rails 3.1中的一個簡單的聊天室應用程序 - 用於學習目的。 對於初學者來說,我擁有所有需要的模型(消息,用戶,房間等)和事物。 客戶端每分鐘輪詢一次服務器(例如),如果有任何消息,則會獲得新消息。使用EventMachine的Rails應用程序是否可以進行長時間輪詢?
我想簡單的輪詢更改爲長輪詢和無法弄清楚這是否可以在同一應用程序做或做我必須創造一個長輪詢其他一些Push服務器。
我讀了很多關於EventMachine的和改變了我的Rails應用程序用戶的它,因爲我想用EventMachine的爲事件驅動機制。我認爲EventMachine頻道會派上用場。 客戶端會連接並等待聊天室中的消息,並且只有在發送到房間時纔會收到消息。
我無法弄清楚什麼是我可以分享我的所有客戶端連接之間的EventMachine的:: Channel實例。 這種方法甚至有可能,或者我以錯誤的方式去做?
如果可能的話,我想可以作爲託管在Heroku上一個Rails應用程序運行的解決方案。
我不是活動機器的專家,但我認爲這是可能的。而且你不分享你的客戶之間的渠道,但你有一個客戶端,你需要在EM之上建立一些東西,以便在不同的用戶之間發送消息。 – Augusto
是的,說我有一個渠道爲每個客戶。 我可以在哪裏存儲所有這些通道實例,以便可以從其他人發送消息時調用的控制器訪問? – Oded