Socket 服务器应用程序的选择:C/C++ 或 C#
Posted
技术标签:
【中文标题】Socket 服务器应用程序的选择:C/C++ 或 C#【英文标题】:Choice for Socket Server Application: C/C++ or C# 【发布时间】:2010-03-22 20:01:52 【问题描述】:假设您可以在 C/C++ 或 Csharp 之间进行选择,并且您打算在 Windows 和 Linux 服务器上运行同一服务器的多个实例,那么构建套接字服务器应用程序最明智的选择是什么?
【问题讨论】:
我想说这在很大程度上取决于服务器应该做什么,所以请告诉。 【参考方案1】:如果您可以让服务在 Windows 和 Linux 中的 .NET 上运行(通过 Mono),C# 可能是在开发方面“更容易”使用的环境。
C++ 路线可能有点棘手 - 您必须为 Linux 和 Windows 编译代码,如果您在 C++ 中执行低级/平台相关的事情,这可能会变得很棘手。
如果代码写得好,C++ 路线的性能也可能会好一些。如果您有高负载或性能要求,C++(或纯 C)可能是更好的途径。
【讨论】:
【参考方案2】:在 Linux 上?
C/C++
基于 C/C++ 的套接字的东西很容易获得,工具包、框架和高性能示例也是如此。看看提供数以万计基于套接字的线程的 FreeBSD 系统。 C/C++ 可以用很少的代码做所有你想做的事情。
但是,如果您的业务逻辑都是用 C# 编写的,那么用 C# 编写您的套接字可能会更简单、更容易(不过,如果您这样做,您应该考虑使用 WCF)。
【讨论】:
【参考方案3】:对于 c++,我会在 http://www.boost.org/ 中寻找一个库
【讨论】:
以上是关于Socket 服务器应用程序的选择:C/C++ 或 C#的主要内容,如果未能解决你的问题,请参考以下文章