3

我们正在尝试提出我们的客户端和服务器标准,并且存在很大的争论。一种思想流派是 C# 客户端和 Java 服务器使用某种类型的专有消息库来共享数据对象(想想类似 XML 的结构......)

此模型的问题在于,如果您在服务器上也使用 C#,则需要复制大量代码(验证、解析),这些代码可以简单地重用。如果大力推动使用 linux 机器,那么 mono 不会支持您的目标。.

其他人有这个困境吗?

4

4 回答 4

4

有这方面的框架。ICE(ZeroC)、“协议缓冲区”等。

例如,我的协议缓冲区实现(protobuf-net)适用于单声道、MS .NET、CF、Silverlight 等 - 二进制格式与一系列语言(java 等)兼容。如果您从 .proto(一种定制的定义语言)开始,您可以使用它以您需要的每种语言生成对象层。

于 2008-12-14T16:02:46.920 回答
1

在任何情况下,我都会使用 Protocol Buffers 或其他以中性语言形式定义的通信,以确保您将来不受限制。

完成后,您可以从 Mono 上的 C# 开始。然后,如果这被证明不可行,您可以切换到另一种语言。

于 2008-12-14T16:49:54.377 回答
1

我建议您使用一些旧但很好的标准在两者之间传输数据,例如 SOAP 和 XML-RPC。如果其中任何一个可行或可行,您可能想尝试 JSON 或编写自己的 XML 格式。最近很多人提到了协议缓冲区,但我还没有研究过,所以我真的无话可说。

于 2008-12-14T16:56:46.127 回答
0

我会尝试使客户端和服务器保持相同的运行时(Java 或 CLR)。我们使用 Mono 和 .Net 客户端/服务器的组合取得了很多成功。

于 2008-12-14T13:59:30.603 回答