首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要求澄清去中心化软件服务通信机制

要求澄清去中心化软件服务通信机制
EN

Stack Overflow用户
提问于 2012-12-13 04:41:21
回答 1查看 82关注 0票数 0

我从http://social.msdn.microsoft.com/Forums/en/roboticsdss/thread/3169a539-f536-4b9d-bae7-01212a857660以及我自己使用和调试决策支持系统服务的经验中看到,决策支持系统利用克隆进行节点内通信,使用克隆+序列化进行节点间通信。我请求您帮助我理解这个机制。对于节点内通信,我理解DSS只使用克隆,因为我们在同一进程空间中传输对象(不需要通过网络进行通信),并且我们不想要任何不必要的共享内存依赖。然而,在节点间通信期间,为什么我们需要克隆+序列化?根据我对序列化的理解,当您序列化一个对象时,在序列化结束时得到的输出完全独立于被序列化的对象,并且可以单独用于构造一个新对象。此外,在序列化期间,我认为我们不会更新原始对象,而只是从它读取。在这种情况下,仅仅序列化还不够吗?为什么我们需要在序列化之前进行克隆?

谢谢,

Venkat

EN

回答 1

Stack Overflow用户

发布于 2013-05-04 08:37:07

通常,DSS使用生成的代理类型序列化消息,因此如果消息是使用原始类型构造的,则在序列化之前,它将首先转换为代理类型(这隐式地是一个克隆操作)。另一方面,如果消息是使用代理类型构造的,那么在序列化之前没有单独的克隆步骤(对合作伙伴使用代理类型是一个很好的理由)。

如果消息类型(或者更严格地说,消息正文类型)实现了IDssSerializable,则行为取决于该类型的特定实现(因为这绕过了通常的代理机制)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13848216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档