2012-12-14 60 views
0

我正在開發一個C#數據庫應用程序。我使用SQL Server 2005作爲後端,C#.NET 2010作爲前端。套接字編程控制客戶端的數量

我的應用程序安裝在每臺客戶機上。更新數據庫時,我的系統的所有客戶端都會通過SQL Server事件依賴關係技術得到通知。

但現在我想控制連接到服務器的客戶端的數量。這是我只想給3個客戶端。爲此,我想在我的應用程序中使用套接字編程添加一些客戶端/服務器代碼。

請指導我解決這個問題。

+0

正確地做到這一點並不重要,並且SQL Server可能具有服務器端設置/配置以限制客戶端的數量。即錯誤的方法。 –

回答

0

SqlDependency Class上MSDN:

的SqlDependency被設計在ASP.NET或中間層的服務所使用其中存在具有對數據庫活性依賴服務器的數量相對較少。 它不適用於客戶端應用程序,其中成百上千的客戶端計算機將SqlDependency對象設置爲單個數據庫服務器。如果您正在開發的應用程序在數據更改時需要可靠的次秒級通知,請查看SQL Server聯機叢書中Planning for Notifications主題中的規劃高效查詢通知策略和查詢通知的替代方法部分。

在您的特定情況下,我想有一箇中間層服務器來管理客戶端計算機,並使用SQLDependency來通知數據庫中的更改。然後,它會按照您所期望的邏輯將通知推送到客戶機的批次n

+0

對不起,遲到了。但是我只想要控制與服務器連接的客戶端數量的套接字編程代碼。意味着與主客戶端應用程序完全不同的服務器應用程序。我的客戶端應用程序有一些代碼首先連接到服務器應用程序。然後,服務器應用程序將統計客戶端數。如果它大於3,那麼它會停止套接字來接受新的客戶端。並且我的客戶端應用程序將停止運行。 – Vinit