我有 3 个选择可以使用:套接字、activeX、com,以便在一台计算机上的应用程序之间进行通信。哪个更快?
只要它在一台机器上运行,进程间通信从根本上就会受到总线带宽的限制。内存到内存的复制,无论是在 TCP/IP 堆栈、命名管道支持代码还是共享内存中完成。这使得它们都同样高效。
不过,有一个细节很重要,即传输的数据量以及完成工作所需经过的软件层数。仅当数据量很大时,内存总线带宽才会受到限制。对于像 COM 这样的远程过程调用协议来说,情况不一定如此。仅需要序列化函数调用的参数,如果不传递数组,则可能只有少数字节。现在开销开始变得重要,当您使用像 COM 这样的高级协议时,开销会很大。
使用套接字的明显缺点是您必须自己编写所有反/序列化代码。如果组件的协议不简单,那么就很重要了。为了方便而牺牲工作时间是典型的选择,只有你才能做到。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)