簡體   English   中英

幫我解決.NET實時應用程序的問題

[英]Help me a solution for a .NET real-time application

我正在開發一個包含服務器應用程序和客戶端應用程序的系統,請注意:客戶端數量可能達到數百萬。 這些是我的要求:

  • 客戶端必須對服務器進行身份驗證(用戶名和密碼)才能接受連接。 客戶端將監聽服務器,並接收服務器發送的所有數據。
  • 當服務器中有數據時,服務器將發送到所有連接的客戶端。

請幫我一些解決方案。 注意:客戶端是WinForm應用程序,服務器是任何類型的應用程序,它可以將數據發送到所有連接的客戶端。

P / S:目前,我的項目使用.NET Remoting,但由於服務器無法將數據發送到客戶端,因此它不適合我的要求。 我有個竅門:每個客戶端每2秒就會向服務器發送一次請求,以檢查服務器是否有新數據。 如果是,則客戶端將接收數據。 我需要一個新的解決方案來替換。

謝謝。

看看Duplex WCF服務

警告詞,這不適用於https。

另外, Windows Azure Service Bus也支持雙工通信。

那么,您需要首先問自己和重要的問題,是否真的需要2秒的輪詢間隔? 你能減少它的頻率嗎?

實際上,您是否要使用頻繁的輪詢,還是要使用另一種技術,例如長時間輪詢(將連接保持打開狀態直到有新數據,然后將其關閉並重新創建)或使用真正的彗星/ PUSH設置,例如連接始終處於打開狀態。

另一個重要的問題是,幾個用戶將使該站點承受多少負載? 一百,一百萬?!

如果您使用的是Web服務,我認為它是無法實現的,因為它始終是同步的。

您是否看過Jabber(XMPP)? 您的需求似乎是量身定制的,即您可以根據某些事件等觸發觸發發送,再加上有狀態的數據傳輸等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM