2012-06-07 102 views
0

最近幾天我正在調查在web技術上實現chatting的更好方法。在jsp中使用node.js或小應用程序聊天應用程序

我做研究,我發現,Node.js的也有一些問題,像如下

  1. 跨瀏覽器支持(舊版本的IE瀏覽器不支持),因爲web sockets
  2. 由於它的新功能,API仍然處於欠發展的狀態。
  3. 他們沒有一個好的文檔通過遵循(但是請注意,很多文章都在那裏幫助)

然後我提出,我會做它在小程序的決定,這樣容易使但像往常一樣我做了一些研究,並this link真的幫助我。

它也有像

  1. 一些組織僅允許管理員安裝的軟件存在一些問題。因此,許多用戶默認情況下無法查看小程序。
  2. 小程序可能需要特定的JRE。
  3. 它只有在Java虛擬機運行之前才能啓動,並且在首次使用時可能會有相當長的啓動時間。

我也問過this的問題,但只有1個解決方案,它實現起來也很複雜,它也使用網絡套接字。

我想使這個應用程序這樣一種方式,至少IE6,IE7用戶不會有任何問題。

我的問題是,有什麼更好的實現方式?

除了這兩個我們可以實現相同的東西,還是我們只能選擇其中的一個呢?

我沒有使用任何框架。僅JSP + SERVLET

回答

1

使用Node.js的不限制其瀏覽器可以以任何方式用作客戶。 Node.js只是「服務器」。您可以使用普通的舊HTTP請求進行所有通信,並忽略websocket,並且您可以構建即使使用IE5也可以運行的聊天客戶端。

如果您決定使用websockets作爲通信協議,那麼這將限制可用瀏覽器的數量,但這個決定並不是強加給你的。

在另一方面,使用Java小程序severly限制,將運行應用程序的瀏覽器的數量:雖然大多數的瀏覽器可以運行小程序,並非所有的電腦都安裝了Java運行時(坦白地說:很少有人會安裝它只是運行一個聊天應用程序)。您也可以通過這種選擇排除幾乎所有的移動平臺:它們通常不能運行小程序(對於支持Java作爲其主要編程環境的移動平臺而言,甚至也是如此)。我不得不不同意Node.js文檔的質量。該文檔很小,但非常完整:Node.js沒有龐大的API。對於基於Node.js的庫,它可能會有所不同:其中一些是有據可查的,另一些則不是。這通常是它們用途廣泛的功能。

0

最好的解決方法是抽象的傳輸邏輯遠和緩慢下降到其它傳輸時的WebSockets不可用(如長輪詢,閃光的WebSockets等)的框架。

Socket.IO是這樣的解決方案,你有同樣的API,無論傳輸層和你的應用程序的工作原理,即使在IE6(因此,無處不在):http://socket.io/