簡體   English   中英

C#socket vs c ++ Socket,哪個更好?

[英]C# socket vs c++ Socket, which is better?

我有一個必須在.Net平台上開發的服務器端項目,但我懷疑c#socket的性能,有些人告訴我C#應用程序總是占用大量內存,特別是當實時不斷交換大量數據時。 內存數據回收太慢了。 有人提出一些關於C#套接字性能的想法嗎?

由你決定。 有些人可能會說C#具有更好的內置功能,因為它更好地包裝和封裝。 對我而言,這是個人選擇。 當我在.NET中開始一個新項目時,我選擇了C#。 在較舊的應用程序中,我使用帶有Socket Communication的C ++ Builder 5,它的速度和C#版本一樣快。 在C ++版本中(它被封裝為C#),有些事件由於丟失網絡連接或套接字上的其他錯誤而提供錯誤處理。 對我來說,底線是我不會將應用程序的語言選擇基於套接字。

C#套接字沒有明顯的性能損失。

除非您的應用程序始終受CPU限制,否則您將從C#解決方案隱含的安​​全性中受益,而不是非托管C ++解決方案的任何性能優勢。

我會堅持使用C#層。 從錯誤處理的角度來看,這是一個更安全的環境,如果您的套接字和線程模型設計得恰當(就像您在C ++中所做的那樣),我認為您不會看到顯着的性能影響。

使用C#。 托管C ++充其量是壞事。 無論如何,如果你正在設計一個服務器端應用程序,資源使用將不會(例如)指數。 無論您使用哪種套接字實現,都可以像線性一樣進行線性升級。

最后,通過向它投擲硬件,你無法解決這個問題。

暫無
暫無

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

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