2009-11-08 39 views
0

我正在使用VSTS 2008 +本机C++开发RPC程序(客户端和服务器)。我读的MSDN文档编组多维数组多维数组传输问题

http://msdn.microsoft.com/en-us/library/aa374185(VS.85).aspx

我感到困惑下面的语句,我感到困惑的是什么意思离线和在线,以及为什么离线/在线有关存根的大小/性能?有谁能帮忙澄清一下吗?

完全解释的方法汇编 数据完全脱机。这大大减少了 存根代码 的大小,但也导致 性能下降。在混合模式 封送处理中,存根将在线编组一些 参数。虽然结果 在较大的存根大小,它也提供了 增加的性能。

+0

感谢编辑使它看起来更好,迈克尔! – George2 2009-11-08 07:23:56

回答

1

很长一段时间,它是一个记录不完善的部分,因为它们将RPC扩展到“对象”空间,而不是和文档可能仍然过时。此外,你会意识到这是一个数十年前的旧技术扩展了旧的DPC RPC? :-)

虽然MS历史上有一些最适合那个年代的编组代码(Corba-on-the-Cob和ACE-style-blasphemy-code上的战争),很可能在线/离线的区别是在部分解释(并且可以进行优化)或完全解释(即所有数据驱动)时。

我无法访问MSDN或任何微软网站,因为我要么把他们弄丢了,要么我有一种流行的病毒阻止他们所有的网站(我不介意前者或后者,它使我更有效地使用我的时间而没有管理噪音)。

如果该链接不适用于MIDL编译器的/ Oic或类似开关。它应该给你一个想法是什么。我不会为此烦恼太多,如果你必须尝试两种方法并查看perf/size。

+0

“此外,你确实意识到这是一个数十年前的旧技术扩展了旧的DPC RPC :-)” - 是的。我正在维护一个由RPC开发的遗留系统,很多痛苦。 :-( – George2 2009-11-08 12:19:37

+0

Majkara,我试图寻找/ Oic的MSDN链接,但找到了几乎相同的信息,即它提到了离线/在线存根大小/性能等术语,但未解释什么是在线/离线以及它为什么重要存根大小/表现感谢您能否给我推荐一些描述此类主题的链接 – George2 2009-11-08 18:20:23

+1

比你刚好运气严重,我认为你对“离线”和“在线”这两个术语过度担心。不要让他们吓到你,因为他们可能是MS使用的术语,而他们仍然处于印象中Windows NT3.x和95不需要TCP/IP或互联网:)他们做得很好,你不会看到太多特别是在现代CPU上,它不太可能成为你的主要瓶颈。运行一个分析器并且看到罪犯,在协议聊天/往返,代码等方面。与这种微观担心相比,您可以在其他地方进行优化,并且可以大幅度优化。 – 2009-11-08 22:04:30