客户端 - 服务器通信协议的架构决策

时间:2010-05-10 18:22:32

标签: .net wcf serialization mono remoting

这个问题实际上非常通用,但我真的很难找到一个好的答案或者应该如何做的例子。

我们正在编写一个简单的多用户协作Web浏览应用程序,我们在确定使用通信协议时遇到了一些问题。 我们正在Mono的C#中开发,希望最终能够跨平台。

通信可能包含以下消息:在会话中注册为用户(客户端到服务器),通知客户端连接的新用户(服务器到客户端),请求页面加载(客户端到服务器),等等 我们到目前为止的想法是:

  • 基本邮件类扩展的XmlSerialization

我们一直在尝试但是在使用XmlSerialization机制作为及时传递数据的方法时遇到了麻烦,所以我们怀疑它是一种正确的方法来做到这一点

  • 同一案例中的二进制序列化

我不喜欢因为数据的形式,因为我担心这会有点风险。

  • Google协议缓冲区

  • WCF

这两者听起来更接近应该使用的东西,但我们担心这样一个非常简单的协议会有点过分。

还有可能是我错过的其他人。

这样做的干净方法是什么?

1 个答案:

答案 0 :(得分:2)

WCF - 为您提供一个平台。

使用JSON和REST作为实际的API(可以在WCF中使用的选项)。这样你基本上可以“本地”在javascript中工作。

WCF是一个很好的工具(遗憾的是,单声道大多数可能太多了 - 不确定),包括为你的服务器端接口动态生成javascript代理。