将实时数据从服务器端c#程序推送到多个WPF客户端的最佳方法是什么?

时间:2011-01-30 20:23:49

标签: c# tcp distributed-computing multicast

我需要开发一个系统,在桌面计算机上运行大约50个WPF GUI客户端。主GUI显示一个大型数据网格,每秒更新大约500次。每个GUI网格始终显示相同的数据至关重要。为实现这一目标,单个c#服务器端程序将在内存中保存主数据网格,该数据网格将每秒更新大约500次。然后我需要尽快将更新推出GUI。

我的问题是;发布数据的最佳方式是什么?是否有任何开源库可以做到这一点?

...想通过tcp多播?是否有任何c#多播数据复制库,它们维护一个主内存数据表并将其复制到客户端程序中?

由于

2 个答案:

答案 0 :(得分:2)

我不确定你在哪里加入了这个,但我正在做类似的事情,而不是搞乱WCF流,我去了ZeroMq库。它可以通过pub-sub在tcp上进行组播,速度非常快。还有一个C#接口。 http://www.zeromq.org/

答案 1 :(得分:0)

最好的办法是以500 /秒的刷新率流式传输数据,没有正常的轮询能够实现这一点,特别是因为您传输了大量数据。正如您所说,需要某种形式的多播。 WCF在流媒体方面支持这一点。

这是一个链接,可以帮助您开始使用WCF进行流式传输:http://msdn.microsoft.com/en-us/library/ms751463.aspx