我还应该使用TCPClient来编写服务器还是有更好的东西出现?

时间:2011-09-17 06:25:41

标签: c# winforms xna tcpclient

多年前,当我为一个简单的乒乓球游戏编写服务器时,我正在使用TCPClient并引用了一些.NET Framework 101代码示例页面,其中包含使用.NET Framework 1.1或者.NET Framework 1.1编写的服务器和客户端程序的示例2.0。

我需要编写另一台服务器,我想知道现在有什么更好用的。我记得代码很低级,有很多尝试捕获和样板代码。

.NET Framework 2.0,3.0,3.5或4.0在简单客户端 - 服务器程序的实现方面是否有任何进步?那么用户创建的简单包装器呢?

顺便说一下,我不一定反对使用TCPClient类。我只是想知道是否还有其他事情可以进一步抽象出类和/或促进创建服务器程序。

1 个答案:

答案 0 :(得分:0)

WCF是一个很好的选择。它为您提供了很大的灵活性和动力。这是一个简单的入门指南:MSDN Documentation - Getting Started with WCF。这个blog post from Switch on the Code更加直截了当。

另一个选择是使用C#绑定到开源项目0MQ。它消除了套接字的复杂性,没有太多的开销,并为您提供了很多功能。从0MQ部分100个单词:

ØMQ(ZeroMQ,0MQ,zmq)看起来像一个可嵌入的网络库,但就像一个并发框架。它为您提供了套接字,可以在各种传输中传输整个消息,如进程内,进程间,TCP和多播。您可以使用扇出,发布 - 订阅,任务分发和请求 - 回复等模式连接N到N的套接字。它足够快,可以成为集群产品的结构。其异步I / O模型为您提供可扩展的多核应用程序,构建为异步消息处理任务。它有许多语言API,可在大多数操作系统上运行。 ØMQ来自iMatix,是LGPL的开源