【问题标题】:Architecture decision for client-server communication protocol客户端-服务器通信协议的架构决策
【发布时间】:2011-02-17 19:37:28
【问题描述】:

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

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

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

  • 基本 Message 类扩展的 XmlSerialization

我们一直在尝试,但在使用 XmlSerialization 机制作为及时传递数据的方法时遇到了问题,因此我们怀疑这是一种正确的方法

  • 相同情况下的二进制序列化

我不太喜欢这种方式,因为数据采用的形式,而且我担心它的风险更大。

  • Google 协议缓冲区

  • WCF

这两个听起来都更接近于应该使用的东西,但我们担心对于如此简单的协议来说这会有点过头了。

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

什么是干净的好方法?

【问题讨论】:

    标签: .net wcf serialization mono remoting


    【解决方案1】:

    WCF - 为您提供一个平台。

    然后将 JSON 和 REST 用于实际 API(您可以在 WCF 中使用的选项)。这样,您基本上可以在 javascript 中“原生地”工作。

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

    【讨论】:

    • WCF 是唯一真正的答案。您可以根据自己的喜好使其轻或重,并且在您这样做时大部分代码都不必更改。
    • 我接受了这一点,因为这听起来像是很好的扎实实践,它让我有一些东西可以学习。但是我会对替代方案感到好奇。
    猜你喜欢
    • 2014-07-27
    • 2012-11-02
    • 2012-09-25
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多