比管道/套接字更高级,更全面吗?
答案 0 :(得分:11)
对于进程间通信,D-Bus是标准的更高级别机制。 GTK和Qt都具有D-Bus绑定,大多数桌面环境(或至少GNOME和KDE)通过D-Bus公开各种服务,许多桌面应用程序可以通过D-Bus接口进行控制。系统总线对于使用标准系统服务查找有关系统的各种低级信息也很有用。
KDE4(基于Qt4构建)还包括一项名为KParts的技术,它通常与Window的COM进行比较。
答案 1 :(得分:9)
是的,有很多东西,但没有一个像COM / DCOM那样“标准”。至少,在Windows中,COM / DCOM被“Windowsish”使用,其他RPC机制被非“Windowsish”使用。
Linux没有类似的东西,而是需要更高级别RPC协议的东西通常使用他们的语言提供的任何东西,或者最适合应用程序需求的特定库。例如,Java中的RMI,Python的“pyro”模块等,它将提供(某些)功能与DCOM的奇偶校验。
Corba有点重量级,但有些人显然会使用它。
许多应用程序都会使用自己的RPC库。除非你必须这样做,否则不要这样做,这是令人讨厌的。
答案 2 :(得分:4)
......考虑的另一种选择可能是Java RMI
还有必要查看相关问题:
Is there an equivalent to COM on *nix systems ? If not, what was the *nix approach to re-usability?
Analog of COM programming in Linux/UNIX
答案 3 :(得分:3)
您可以查看Corba,它也适用于Linux和Windows。
答案 4 :(得分:3)
Mono项目跳跃于脑海。主要是因为CLR / .NET是新的COM - 毕竟,COM最初作为独立于语言的二进制兼容对象出售。
我猜DCOM(即带有更长线路的COM)将是.NET远程处理?或者也许是一些带有对象序列化的Web服务。我相信Mono支持两者。
答案 5 :(得分:2)
有Mozilla的XPCOM技术,跨平台组件对象模型。在概念上类似于COM或DCOM。
Here是使用D-bus
的相对较少的程序列表答案 6 :(得分:0)
DCOM可在Linux上使用。它不是“linux的做事方式”,但是嘿,如果你想“像DCOM,但Linux”,那么只需在Linux上使用DCOM并完成......