6

我已經搜索了一些時間研究幾種技術來構建一個簡單的即時消息系統的Ruby應用程序的紅寶石。這看起來非常複雜,因爲我還沒有發現任何跨瀏覽器或任何概念的實現。即時通訊實現的軌道?

看着:

  • XMPP客戶端(也就是在github糖果只支持羣聊)
  • XMPP服務器&鐵軌(很多的麻煩沒有很好的整合)
  • 劍聖(無1-1 ,不支持Internet Explorer使用網絡套接字的原因)
  • ryan bates的私人酒吧(似乎能夠做到這一點,但作爲紅寶石新手,幾乎沒有文檔就可以得到這個數字)

任何人都可以建議我鋼軌一個即時通訊:

  • 是跨瀏覽器
  • 具有良好的文檔,例如實施
  • 即時通訊軟件,其中用戶A會談到用戶B和用戶B與用戶A對話

我真的不知道我該如何實現這一點,任何人都可以給我建議關於如何解決這個問題? thx

+0

沒有一個。 – Eric 2012-02-21 19:34:11

回答

5

正如Eric所說,沒有一個。消息傳遞是一件非常困難的事情。

現在我正在使用Pubnub,這是一項外部服務。 Rails集成方面沒有很好的文檔,所以你只需要嘗試自己做。

關於更好的記錄方面,有Faye,但這是一個內部過程,需要運行兩個實例(一個響應Faye請求,一個運行您的應用程序)。這對Heroku來說有點複雜(而且更昂貴),所以我只是堅持Pubnub。

根據Faye文檔,查看此Railscast,爲了保護隱私,請查看Private Pub

編輯:,如果你認爲私人酒吧是很難集成..好,不小氣,但也許你應該嘗試更多地瞭解Rails和Java腳本,你深入到這個問題之前,因爲它不是一個簡單的事情(即使它看起來應該是)

編輯2:此外,對於王菲,this tutorial might help you out.

你可能會更好使用Node.js的這種類型的東西。正在進行

+0

Privatepub本身並不難以設置問題是在管理渠道,基本上有2人的房間名稱和subscribe_to他們可以工作,也許我應該更深入地挖掘thx。 – Rubytastic 2012-02-21 20:06:27

+0

hi @varatis謝謝你的回答,它可以幫助我很多:)只有一個問題:你的意思是需要兩個實例來運行?我沒有很多的服務器設置經驗謝謝 – medBo 2013-10-12 15:37:01

+0

@medBo基本上,想想你運行'rails server'時。當你通常這樣做時,你的計算機完全向該服務器放棄一個執行線程 - 當該進程在前臺運行時,不能在該終端窗口中啓動任何其他內容。 Heroku同樣不允許你啓動另一個進程來運行Faye,或者做後臺工作,除非你付費。 – varatis 2013-10-12 20:54:06

1

工作: 全Facebook的克隆

https://github.com/rubytastic/im 

請貢獻代碼是是固定的,還是古怪!