gpt4 book ai didi

c# - 在 Azure 上使用的 Tcp 高性能服务器/框架和配置

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:43 25 4
gpt4 key购买 nike

我们需要编写高性能的tcp服务器并使用azure作为托管。我们有几种选择:

  1. 用 C# 编写自定义 tcp 服务器,如 http://blog.maartenballiauw.be/post/2010/01/17/Creating-an-external-facing-Azure-Worker-Role-endpoint.aspx 中所述。但我们不想重新发明轮子。

  2. 使用 WCF(可能是最好的方法)。在这种情况下,我们需要充分了解如何配置它,因为有很多配置选项。有人可以推荐一些配置吗?我们应该使用 worker 角色托管还是 IIS 托管?

  3. 信号/R。据我了解,它有第一版,目前已准备好投入生产,可以用作 tcp 服务器。 signalR 和 WCF 哪个更好、性能更高?我们应该使用 worker 角色托管还是 IIS 托管?

  4. 零/℃ ICE。有人用过吗?

  5. 使用 ZeroMQ C# 绑定(bind),如此处所述 http://zguide.zeromq.org/cs:asyncsrv

不幸的是,我们仍然不知道有关我们协议(protocol)的一些细节(但它将是二进制的)等等。因此,我们需要能够轻松更改某些服务器行为,而无需更改大量代码。

此外,如果了解 azure 的负载均衡器可能如何影响服务器行为,那就太好了。

最佳答案

经过一番调查,我发现:

  1. 编写自定义 TCP 服务器是我们唯一的选择。
  2. 这可以在 WCF 中实现,但非常困难,因为我们需要使用自定义绑定(bind)和自定义消息编码器,而这在我们的情况下非常困难。
  3. Signal/R 不适合我们,因为它是为其他类型的任务而设计的。不适用于通用 TCP 服务器。
  4. 未找到任何相关信息。
  5. ZeroMQ 非常好,它支持 tcp 请求回复样式和多播,但它迫使我们在客户端使用 zmq,因为它使用自定义框架。不幸的是,我们的客户端是在硬件中实现的,根本不可能添加 zmq。

关于c# - 在 Azure 上使用的 Tcp 高性能服务器/框架和配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15113184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com