2012-02-16 59 views
7

我在大進退兩難,使用HTML5 WebSockets的或signalR聊了一會,我們將融入我們的asp.net MVC3應用signalR VS HTML5的WebSockets的asp.net MVC聊天應用

我的困境
1 。爲什麼要使用signalR如果它實現長時間的?
2.Isnt longpolling不好?
3.websockets和longpolling完全不同?
4. 只有IIS8支持websockets?
5.我可以使用Html5 websockets將聊天數據保存到SQL數據庫嗎?
6.Isnt有一種解決方法,使WebSockets的IIS7上和更高版本的工作(我將使用Chrome瀏覽器只)
感謝您與我的軸承

回答

10
  1. 爲什麼使用signalR是否實現longpolling?

    答:讓舊瀏覽器的支持,或有過的抽象數據傳輸實現細節的較高水平。如果你肯定會使用具有websockets支持的chrome版本 - 使用websockets(很好的解釋here)。

  2. Isnt longpolling不好?

    答:實際上它是不是最好的(見上面的鏈接),但有總比沒有對舊的瀏覽器更好。

  3. websockets和longpolling完全不同?

    答:他們是完全不同的(再次,見上面的回答),但在共同爲他們水木清華(它們都需要一個連接)。

  4. 只有IIS8支持websockets?

    答案:如果你想使用純.NET框架 - 是的,只有IIS 8和.NET 4.5。但是您可以使用其他websockets服務器(請參閱下面的解決方法)。

  5. 我能救使用HTML5 WebSockets的聊天數據到SQL數據庫?

    答:是的WebSockets只送數據的協議,所以從字面上使用它你不能只是傳輸數據的執行任何動作。然而,你可以說,有一個令牌將被髮送到服務器,並意味着「將所有以前的數據保存到數據庫」。或者,您可以根據不同類型的消息制定更復雜的方案,如socket.io for node.js中的實施。

  6. 心不是有一種解決方法,使WebSockets的IIS7上和更高版本的工作(我將使用Chrome瀏覽器只)

    答案 - 是的,就是不使用IIS,但另一個WebSockets的服務器實現(如Fleck - 對支持webseckets的「舊」瀏覽器有很好的支持),並與IIS一起作爲單獨的進程運行。

6

SignalR可以支持IIS是否和的WebSockets您的瀏覽器支持這一點,如果不是它使用longpolling。 使用SignalR將爲您節省大量時間,重新發明車輪,他們已經證明您可以創建一個良好的聊天網站。

+0

它的良好,他們支持websockets ..但大多數情況下,IIS和瀏覽器似乎不適合websockets,所以大多數情況下,它將longpolling ... – bhargav 2012-02-16 09:03:25

+0

所以,而不是在大多數情況下長時間輪詢一個解決方案,使websockets在所有IIS和鉻只工作...?是的,我已經在這裏看到了演示網絡聊天http://jabbr.net/#/rooms/Lobby – bhargav 2012-02-16 09:07:57

+0

我不認爲有一種解決方法可以讓websockets工作。 iis8發佈時,對websockets的支持將迅速增長。 – Wim 2012-02-16 10:51:58

-1

4.只有IIS8支持WebSockets的?

SignalR支持IE < 8 Json2.js。只需用的NuGet 得到它的安裝包json2

確保你添加引用json2.js前signalR.js

+5

IIS8用於服務器,IE8是瀏覽器 – Davy8 2012-03-01 22:16:57

0

enter image description here

希望這將解決您所有的疑問。