编辑:我忘了包含Web应用程序的主要候选者:JSON over HTTP / REST + Comet。它结合了其他人的最佳功能(下)
我正在开始使用服务器保存数据的应用程序,并且客户端执行会影响此数据的操作,因此需要在所有感兴趣/订阅的客户端上进行某种通知。
第一个客户端可能是用WPF编写的,但我们可能需要添加用其他语言编写的客户端,例如Java(Swing?)客户端,可能还有Web客户端。
实际问题(s):我应该使用什么协议来实现这个目标?与JS,Java和.NET(正是C#)客户端集成有多容易?
我可以使用多个接口/协议,但总体上使用可互操作的接口/协议会更容易。鉴于互操作性很重要,我研究了几个选项:
其他选择当然是受欢迎的。
答案 0 :(得分:1)
我偏爱你建议的酒吧/子设计。我来看看ZeroMQ。它绑定了C#,Java和许多其他平台。
绑定列表:http://www.zeromq.org/bindings:clr
我还在ZeroMQ开发列表中找到了这个对话,可以回答一些关于多个客户端和ZeroMQ的问题:http://lists.zeromq.org/pipermail/zeromq-dev/2010-February/002146.html
答案 1 :(得分:1)
如果您希望轻松地向网络上的客户发布事件,您可能希望查看XMPP标准。 (除其他外,由Jabber和Google Talk使用。)
查看publish-subscribe功能的扩展程序。
有许多libraries in different languages including C#, Java and Javascript。
答案 2 :(得分:1)
答案 3 :(得分:1)
我们使用Servoy。它为Web客户端和Java客户端进行自动数据广播。我不确定是否可以将广播发送到其他平台,您可以在论坛上找到答案。
答案 4 :(得分:0)
您可以使用SOAP over HTTP修改服务器上的数据和SOAP over SMTP以通知订阅的客户端。
或强>
服务器对订阅一无所知,客户端通过超时调用服务器来跟踪他们感兴趣的更新,使用XML-RPC,SOAP(使用WSDL生成),或者如果不需要,只需HTTP GET传回有关跟踪的复杂数据。