设计WCF服务器以实现低延迟

时间:2009-09-09 13:20:09

标签: .net wcf networking latency

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

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

可能有一些项目可以使用代码或接口作为示例吗?

3 个答案:

答案 0 :(得分:1)

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

我使用这种方法编写了一个内部发布的pub-sub机制,延迟时间与您通过WCF预期的一样低。

您的目标表现是什么?

This MSDN article讨论了使用WCF双工通道。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

你看过

吗?

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

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