2010-11-09 76 views
10

對不起,如果這個問題聽起來很愚蠢,但我不得不問。是否有替代使用C#編寫的Node.js的服務器端?我需要一個客戶端框架來充分利用Web套接字,但AFAIK IE不支持Web套接字,也不支持它的下一個版本。如果可用,socket.io使用Web套接字,如果不可用,則退回到BOSH。所以我會嘗試連接到在.Net Framework上運行的套接字服務器。socket.io和.Net套接字服務器

我的替代品是什麼?

+0

好吧,我寫了我自己的套接字服務器,它的作用就像一個魅力。 – 2010-11-09 12:30:02

+9

如果您通過github項目鏈接回答您自己的問題,我保證會提供您的答案;) – Khanzor 2010-12-07 03:32:09

回答

9

請原諒我從死裏復活這個線程 - 我和我的朋友剛剛發佈了C#服務器端的WebSocket服務器:https://github.com/Olivine-Labs/Alchemy-Websockets

它速度快,它的可擴展性,並且不會做的一切socket.io做目的是:它提供了websocket和閃回回退功能,使其非常精簡和高效。我看到你已經做了你自己的東西,但檢查出來;並希望它能幫助其他人。

3

可能是一個老問題的答案,但我會寫在這裏,以防其他人使用搜索引擎發現此問題。請看一下SignalR(http://signalr.net/)的抽象。有關SignalR的一篇不錯的文章,請閱讀Scott Hanselman的文章http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx

+0

SignalR不使用Web套接字,因爲它運行在.net的ontop和不支持服務器端的Web套接字的窗口上。 SignalR將在所有瀏覽器上使用serverSideEvents,IE除外將使用Forever-Frame。 – 2012-05-31 00:48:44

+0

@RegisteredUser這不完全正確。如果客戶端和服務器都支持,SignalR將使用WebSocket。 SignalR支持多種託管選項,但使用最廣泛的還是IIS。因此,如果SignalR主機支持WebSocket,SignalR將支持WebSocket。 Windows Server 8上的IIS支持WebSockets。編寫此版本(以及幾個版本)時的當前版本使用客戶端和服務器上可用的最佳傳輸方法,如下所示:WebSockets,Server Sent Events,Forever Frame和最終長輪詢。 – 2012-08-06 08:22:51