.net 中的高性能 TCP 客户端

High performance TCP Client in .net

在 SO 上看到的很多关于 .Net sockets 的好帖子都是关于编写可扩展的高性能服务器的。

High performance TCP server in C#

How to write a scalable Tcp/Ip based server

虽然那些帖子很好,但是编写高性能TCP客户端应用程序时需要关注的核心内容是什么?

高性能客户端的场景是将请求流式传输到服务器并以非阻塞方式处理响应的应用程序。

这样的客户端还应该有可靠的断开连接检测策略。

进一步说明,我们无法控制服务器端。

我们只需连接一个服务器端点。

评论中提到的 zmqNet 是一个很棒的库,但我认为它最强大(或适用于连接两端都使用 zmq 的情况)(是吗?)。

使用 netMQ (0MQ)。它以 NuGet 包的形式提供,因此应该易于维护。

我建议使用客户端请求套接字和服务器端的 router/dealer 结构。此处提供的文档:http://zguide.zeromq.org/page:all 非常好。