我有一个服务器端项目,必须在.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++套接字-WString到Java套接字
- 2. Silverlight c#套接字
- 3. C#-PHP套接字连接
- 4. c#套接字连接
- 5. C#套接字双连接?
- 6. C#套接字发送vs BeginSend性能
- 7. WCF VS.套接字
- 8. dev-C++套接字错误
- 9. C#套接字编程
- 10. 套接字编程,C-java
- 11. C++套接字设计
- 12. C#查找套接字ID?
- 13. 从C读取套接字
- 14. Windows套接字WSACleanup C++
- 15. C#SMTP套接字问题
- 16. C套接字命令?
- 17. C#套接字超时
- 18. C#套接字程序
- 19. 套接字编程。 c#.net
- 20. C#异步套接字BeginSend
- 21. 套接字在c tcp
- 22. 了解套接字 - c
- 23. C#中的UDP套接字?
- 24. 套接字的Objective-C NSMutableArray?
- 25. 互斥和C套接字
- 26. c#套接字使用Ssl
- 27. C#套接字问题
- 28. 创建套接字C++
- 29. UDP - 原始套接字 - C#
- 30. C++ Linux TCP套接字fd
“有些人”显然没有完全理解和了解.NET – 2009-11-29 02:00:32
您是否清楚了解.NET垃圾收集器进程?它的弱点是什么?如何避免这个弱点? – 2009-11-30 01:11:22