我正在爲我正在編寫的項目在C#.net上進行套接字編程。c#.net中的套接字上的多個對象的序列化和反序列化.net
該項目將是一個多客戶端系統,其客戶端服務監視系統資源並向中央服務器報告。
我正在研究Remoting,WCF等,以確定哪些對我最合適。我套接字編程解決由於一些要求:
- 套接字是比其他人更快小的開銷
- 我可以支持服務器上的每個資源更多的連接
- 套接字可以,具有儘管修改,也允許我與基於UNIX的系統進行交互。
- 我可以在代碼中自己實現加密,而不必依賴SSL證書。
我在這裏的想法可能是錯的嗎?如果我願意,請告訴。有些人建議WCF「可以使用」,並做我想要的一切,但我相信這是慢得多的開銷。
我的主要問題是,雖然客戶端機器不會保持連接打開狀態,但可能會有數千或數萬個客戶端計算機,我不得不假設該計算機將受到連接打擊。考慮到每個客戶端之間的最短連接時間可能小至1分鐘。
現在到我手邊的問題:如何通過鏈接發送多個對象,更重要的是如何確定他們在另一邊?
我假設這是可能通過一個連接,因爲我已經閱讀了大量的文章這樣說,雖然他們描述的方法不同,所以是例子。
問題是我找不到任何實際執行此操作的示例。沒有例子顯示如何發送多個對象,然後如何確定他們在另一邊。
任何人都可以在這裏幫我或指點我的例子。一旦我有了一個工作基地,我可以很好地理解這些東西。
通過電話發送的信息應該很小。類似的參考方案是HoundDog(現在由GFI所有,稱爲GFI MAX)。客戶端本質上是非常輕量級的,您可以設置它們來監控每隔多少分鐘/秒等等,並根據需要發送警報,同時發送ping讓總部服務器知道它仍然存在。所以非常少的數據。這個問題更多的是一個問題,會有多少客戶端:每個服務器可能有數千個客戶端。你認爲使用WCF會是更好的選擇嗎?我只是怕我不得不全力以赴。 – Anthony
至於時限,這是我自己的項目(其中包括),我正在爲失業而工作。所以通常我有我需要的所有空閒時間。我很想學習套接字編程,但我也想在一兩個月內看到一個工作模型。如果他們長期工作,我真的不介意使用新的方法(或封裝)。 – Anthony
另外,我最初(在VB6的方式)是一個Windows窗體程序員...然後我轉移到ASP.NET Web窗體,並已在那裏多年,所以這是第一次冒險回到Windows窗體編程爲了我。我知道這些差異,並且很瞭解網絡。簡而言之,我正在討論其他人在文章中所說的內容,並幫助博客等。因爲許多人說WCF是「沉重的」,但接下來就像你說的「使用套接字引入的複雜性開銷」也可能是對我來說,皺眉的因素... Sheesh,它從來沒有直接的是它:) – Anthony