【问题标题】:Should I still use TCPClient to write servers or has something better emerged?我应该仍然使用 TCPClient 来编写服务器还是出现更好的东西?
【发布时间】:2011-11-16 02:39:11
【问题描述】:

几年前,当我为一个简单的乒乓球游戏编写服务器时,我使用了 TCPClient 并引用了一些 .NET Framework 101 代码示例页面,其中包括使用 .NET Framework 1.1 或2.0.

我需要编写另一台服务器,我想知道现在是否有更好的使用方法。我记得代码非常低级,有很多 try-catch 和样板代码。

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

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

【问题讨论】:

  • 试试 WCF。这是你不应该重新发明的轮子。
  • @John:你有代码示例吗?我没有使用 ASP,Google 也没有返回太多关于 C# 和 WCF 的信息。
  • 完全同意 - 在 bing 3+ 上搜索“C# nd WCF”,在 google 上搜索 - 11+ 上百万。 :)
  • 它可以返回 1 亿个我关心的结果。。结果似乎与我的问题不太相关。
  • 为什么标签 xna 和 winforms?如果您需要有关如何实现服务器(WCF 与否)的建议,请开始告诉您的服务器应该做什么,您打算公开什么样的端点等等......取决于您想要公开的方式/内容,一个 IIS托管的 wcf 服务可能会有所帮助,或者完全不同的东西。您需要提供什么服务?

标签: c# winforms xna tcpclient


【解决方案1】:

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 开源的

【讨论】:

    猜你喜欢
    • 2020-02-26
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    相关资源
    最近更新 更多