2

发布订阅场景下如何实现WCF服务器的低延迟?具体来说,客户端订阅数据并接收更新,有问题的延迟是在数据更改和客户端接收更改之间?CPU、内存、带宽要求并不重要,可能很高。

基础很明显:二进制序列化、命名管道等。但是,例如,通过始终连接的流发送数据是否有意义?或者将批量更新作为单个消息发送以减少 RPC/标头开销?

可能有一些带有代码或接口的项目可用作示例吗?

4

3 回答 3

1

如果您使用双工通道,您可以让客户端连接到服务器,并在此过程中将另一个服务合同作为回调传递。然后,服务器使用此回调将更新发送到客户端,因为它们变得可用。

我已经使用这种方法编写了一个内部发布-订阅机制,并且延迟大约与您通过 WCF 所期望的一样低。

你的目标表现是什么?

这篇 MSDN 文章讨论了使用 WCF 双工通道。

于 2009-09-09T13:22:22.457 回答
1

不是一个全面的解决方案,但是:为了减少与数据大小和网络传输速度相关的延迟,您可以使用google 协议缓冲区通过网络压缩您的数据。GitHub 项目在这里

于 2009-09-09T13:33:59.073 回答
1

你有没有看过

http://geekswithblogs.net/BVeldhoen/archive/2008/01/26/wcf-latency-test-harness.aspx

它考虑了各种绑定和数据大小。

于 2010-01-20T14:41:23.020 回答