2009-06-25 28 views
3

我聽說基於網絡的聊天客戶端傾向於使用網絡框架,如扭曲框架是否有可能建立一個基於網絡的聊天客戶端沒有基於套接字的框架?

但是,有可能建立一個沒有網絡框架的基於Web的聊天客戶端 - 使用只有ajax連接?

我想建立一個基於會話的一對一網絡聊天客戶端,它使用會話來指示聊天何時結束。在Rails中只能使用ajax而沒有網絡框架,這是可能的嗎?

它對使用網絡框架有什麼影響,它會對我的應用程序造成什麼樣的影響?也歡迎任何關於接近這個項目的一般建議。

回答

5

如果我正確理解你,你想讓客戶端連接到你的服務器,並通過服務器通過ajax發送消息給對方。 這是可能的,有兩種方法可以做到這一點。

簡單的方法是讓客戶端每隔幾秒輪詢一次以檢查另一個發佈的新消息。缺點是消息不能即時傳遞。我認爲這是rails book中的一個例子。

更復雜的方法是保持開放連接並在服務器收到消息後立即將消息發送到客戶端。要做到這一點,你可以使用類似Juggernaut

我想補充一點,雖然後者的作品,它不是http的意思,它有點破解,但嘿,無論什麼工作完成。這方面的一個實例是rails chat project,它使用了劍聖派生。

3

從技術上講每一個網絡基礎的應用下,它有一個網絡框架,因此,基於套接字...

這裏唯一真正的問題是你是否想擁有所有的喋喋不休通過你的服務器或允許點對點通信。如果前者,您可以使用ajax框架與您的Web服務器通話。這意味着您的所有客戶都將不斷地輪詢Web服務器的更新。

如果是後者,那麼你必須允許兩個客戶端之間的直接tcp連接,並且需要更接近金屬這麼說。

因此,問問自己這一點:你是否願意支付流量費用,並有可能泄露任何人可能輸入其客戶的潛在責任;或者,你寧願建立一個人們可以用來交談的聊天程序嗎?

當然,即使那麼遠,你真的想建立另一個聊天客戶端嗎?這個空間已經非常擁擠。

相關問題