2012-01-11 50 views
0

我打算設計一個在rails上使用ruby的網站。我想要實現的功能之一是聊天功能。用戶可以與網站的其他用戶/成員聊天。我應該使用什麼或者換句話說開始學習以設計類似的東西?在網站中設計一個聊天客戶端。我應該使用XMPP?

是XMPP的答案。如果是這樣,我會很高興,如果有人可以描述從哪裏去和/或建議一些書籍。謝謝 !

我說,XMPP,因爲我知道Facebook的使用了,我打算創建一個類似於

回答

1

東西你總是要想想你多麼想在實施這項花費。 如果您使用XMPP,您將能夠運行XMPP標準聊天服務器(Rails之外),並且應該能夠使用帶有XMPP到HTTP Bridge的JavaScript客戶端。

一個快速執行此操作的Google搜索項目是Strophe

但是我認爲,如果XMPP能夠真正適合您的需求,並且您真的想爲聊天工作經歷所有麻煩,我會認爲您應該長期思考。

實現你自己也不是直截了當的,特別是當你自己編寫所有長輪詢和信號的東西時。 但這不是不可能的,應該在幾天內給你一個簡單的工作解決方案。

在Rails中自己進行聊天將需要您使用替代數據庫,因爲Rails無法在請求之間存儲數據,並且在ActiveRecord中保留聊天數據似乎不是一個非常可擴展和好主意。

使用XMPP顯然有您的用戶能夠連接到使用iChat中,Jabber的或任何其他XMPP客戶端即時通訊服務的好處..

+0

謝謝你們。這幫助了我很多。我仍在研究,但這些都是非常有幫助的建議:) – 2012-01-11 10:35:01

3

協議可以成爲一個晦澀的話題,實現良好的工作協議沒有先前的經驗,你自己可能會變得相當艱鉅。特別是如果它涉及多個方之間(接近)的實時通信。如果這應該擴展到任何大量的訪問者,那麼正確實施這一點可能會非常困難。

XMPP是一個已經很完善的協議,已經被破解並且已經有很多穩定的實現。所以使用它時,你不必擔心設計或實現協議了。出於這個原因,我真的推薦它。這也是一個相當容易理解的協議,即使您在開始時需要花費一些時間閱讀基礎知識。請看http://xmpp.org文件。

設置XMPP服務器可以在幾分鐘內完成,具體取決於您選擇的操作系統和服務器。需要注意的是,如果你想自定義服務器,你將不得不在一定程度上了解它的內部,這可能需要或不需要一些時間。底線是:選擇XMPP和現有的XMPP庫和服務器,您可以免費獲得90%的功能,並且可以專注於實現您的客戶端。問題是,您需要深入瞭解XMPP和服務器的細節,這需要花費多長時間才能實現,而且您的協議是否能夠滿足您的長期需求以及XMPP?

+0

謝謝你們。這幫助了我很多。我仍在研究,但這些都是非常有幫助的建議:) – 2012-01-11 10:34:46

相關問題