代码之家  ›  专栏  ›  技术社区  ›  Rex M

用于TCP消息传递的.NET项目

  •  0
  • Rex M  · 技术社区  · 15 年前

    在.NET中是否有一个开源项目或框架通过TCP为客户端和服务器之间的消息传递提供基本的“管道”?这似乎是其中一件我最终一遍又一遍地写基本相同的东西的事情,我想把自己从这件事中抽象出来一点,处理我的应用程序的细节,而不是写作 通过TCP发送消息的半自动机制。

    希望有比WCF更小/更简单的东西。我真的很感兴趣的东西轻量级,不试图解决所有的问题。

    4 回复  |  直到 15 年前
        1
  •  3
  •   Jeremy    15 年前

    WCF 有很多内置的螺母和螺栓。虽然我还没有亲自尝试实现它。

        2
  •  3
  •   rama-jka toti    15 年前

    完全同意,与.NET远程处理(比托管套接字代码慢,又比本机iocp代码慢)相比,WCF过于臃肿,速度要慢得多。。但这是额外的工作,如果你在一个通用的泛型库中管理上述内容(而不是在.NET中更强大的模板,也就是说,你必须以奇怪的方式设计类型+必须使用接口),那么比你在一个人年内用一些复杂的管道和消息队列做的更好(这并非不可能,但imho和retrospect从来都不值得“一般地”去做)。

    另一种选择是MSMQ,微软越来越多地将其软件押在这一点上,或者是半途而废的开源软件,它们永远不会完全满足您所需要的模型。Tibcos,ActiveMQs,随便你说。即使是更低的水平,最好的是广泛认为是C++ Boo::ASIO,尽管被认为是顶级的,但在所有的事情上都不适合所有的事情。这是一个非常出色的设计,所以我会注意一个潜在的浪费时间的练习。。

    在.NET上,我会首先采用MS推出的任何50线程服务“今天”,如果不采用“再次类似的代码”,并在工具集再次出现时寻找类似的概念来装备您的工具集(就像每5年左右一次的新I/O库或框架)。

        3
  •  2
  •   X-Cubed    15 年前

    如果您需要的不仅仅是简单的消息传递支持,请查看 .Net's remoting support .

        4
  •  0
  •   Chris Brandsma    15 年前

    您也可以尝试Indy.net项目。

    它最初是用Delphi编写的,但这就是它应该做的。