我將要編寫一個本地C++ Windows服務,需要從客戶端桌面計算機收集和存儲數據,可能有數千個。數據很簡單,例如CPU%,內存以及桌面上運行的客戶端軟件的一些其他數據。構建用於客戶端 - 服務器通信的TCP/IP服務器的最佳方法?
構建此客戶端 - 服務器通信的最佳方式是什麼? 命名管道? TCP服務器/客戶端? Windows套接字? WCF?還有別的嗎? 或者最好在服務器上運行SQL Server並讓客戶端與數據庫建立連接並以這種方式發送信息?
我可以在服務器上的服務中運行一個多線程的命名管道服務器,但我不想在服務中爲每個連接生成一個線程,數千客戶端會花費太多的服務器子系統資源。客戶端將在本地網絡和WAN上。
任何指導表示讚賞!
標準的解決方案是使用WMI。不需要在客戶機上安裝任何軟件,它可以遠程完成。 – 2014-11-06 12:45:40
你需要異步發送來自客戶端的數據嗎? – user623396 2014-11-06 12:47:29
我收到標準數據和其他非操作系統數據,並且我在桌面上運行了一個客戶端。我對WMI的經驗是,只需查詢十幾臺計算機就佔用大量資源。或者WCF可能更好? – JeffR 2014-11-06 12:49:39