2011-12-22 52 views
1

我需要通過套接字將網站與現有系統連接。 基本上我需要連接到套接字,保持它打開,並獲得通過網站的所有數據。使用基於實時套接字的數據創建網頁

我正試圖找到一種可擴展的方式來實現這一目標。 我的第一個想法是,我可以使用Comet或Socket.IO從Web服務器獲取數據到Web客戶端。但服務器是ASP.Net,我不相信我可以在ASP.Net中爲每個用戶打開一個長期的套接字連接。

理想情況下,我希望客戶端瀏覽器打開並維護自己的與數據源的套接字連接。我找不到辦法做到這一點。這甚至有可能嗎?

我可以使用任何建議,因爲我很困擾這個問題。

謝謝!

+2

我還沒有使用它,但它聽起來像SignalR https://github.com/SignalR/SignalR – 2011-12-22 21:29:49

回答

3

正如Paul在評論中所建議的,SignalR是一個很好的解決方案。下面是ASP.NET兼容的解決方案的完整列表:

還有其他self hosted realtime web technologies但你需要你的ASP.NET應用程序之間的接口以某種方式實時Web服務器(隊列或WebHooks)。

另一種選擇是使用我爲之工作的託管服務,如Pusher。託管服務承擔了維護持久連接的壓力,並擴展瞭解決方案的實時消息傳遞方面。

1

如果您正在尋找一個純粹的套接字客戶端/服務器實現,那麼我建議嘗試一下WebSockets,但不幸的是,它僅支持HTML5瀏覽器。

你也許會看看NodeJS,但我沒有太多的成功。

如果你認爲你可以

  • 發送一再要求IIS每隔幾秒鐘
  • 客戶端等待來自服務器的響應異步
  • 服務器發送一些數據(不管你需要推動到客戶端)
  • 客戶端收到響應,

然後IAsyncHttpHa ndler就是答案。