我有一个服务器端项目,必须在.Net平台上开发,但我怀疑c#套接字的性能,有些人告诉我C#应用程序总是会吃很多内存,特别是当不断交换大量数据即时的。内存数据回收太慢。任何人都对C#套接字性能有一些想法?C#套接字vs C++套接字,哪个更好?
回答
这取决于你。有些人可能会说C#具有更好的内置功能,因为它被更好地封装和封装。对我而言,这是个人选择。当我在.NET中开始一个新项目时,我选择了C#。在较早的应用程序中,我使用带有Socket通信的C++ Builder 5,它的速度和性能与C#版本一样好。在C++版本中(封装为C#),由于网络连接丢失或套接字上的其他错误,会有事件提供错误处理。对我来说,底线是我不会将你的应用程序的语言选择基于套接字。
我会坚持到C#图层。从错误处理的角度来看,这是一个更安全的环境,如果你的套接字和线程模型被正确设计(就像你必须从C++中完成),我不相信你会看到显着的性能影响。
C#套接字没有明显的性能损失。
除非您的应用程序经常受CPU限制,否则您将从C#解决方案所隐含的安全性中受益,远比非托管C++解决方案的任何性能优势更大。
是不是C#套接字需要注意内存泄漏? – 2009-11-29 02:36:58
.NET框架在处理内存和防止泄漏方面做得非常好 – Paul 2009-11-29 02:45:09
使用C#。托管C++最好不好。无论如何,如果你正在设计一个服务器端应用程序,资源使用将不会是(例如)指数级的。无论您使用什么套接字实现,您都可以像线性升级一样。
最后,没有什么你不能通过硬件来修复它。
- 1. C#套接字vs NodeJS Socket.IO
- 2. Java套接字到C套接字
- 3. C++套接字-WString到Java套接字
- 4. Socket.io + C套接字
- 5. Silverlight c#套接字
- 6. c#套接字连接
- 7. C#-PHP套接字连接
- 8. C#套接字双连接?
- 9. 套接字程序Python vs C++(Winsock)
- 10. C#套接字发送vs BeginSend性能
- 11. 套接字VS WinPcap
- 12. WCF VS.套接字
- 13. 哪个更适合套接字管理 - C++还是Java?
- 14. dev-C++套接字错误
- 15. 从C读取套接字
- 16. 套接字C#线程
- 17. C#套接字错误10022
- 18. C#套接字和SslStreams
- 19. C#SSL安全套接字
- 20. UDP - 原始套接字 - C#
- 21. c#套接字阻止
- 22. HTTP over C#套接字
- 23. Windows套接字WSACleanup C++
- 24. 套接字编程。 c#.net
- 25. C#套接字程序
- 26. C套接字命令?
- 27. 套接字编程,C-java
- 28. C#套接字编程
- 29. 创建套接字C++
- 30. C#异步套接字BeginSend
“有些人”显然没有完全理解和了解.NET – 2009-11-29 02:00:32
您是否清楚了解.NET垃圾收集器进程?它的弱点是什么?如何避免这个弱点? – 2009-11-30 01:11:22