最兼容的进程间通信协议
Posted
技术标签:
【中文标题】最兼容的进程间通信协议【英文标题】:Most Compatible Inter-Process Communication protocol 【发布时间】:2011-08-13 21:08:45 【问题描述】:我正在开发一个媒体应用程序,我想为其提供一个外部 API 库,允许另一个应用程序与我的查询状态信息进行通信。我的应用程序是用 C# 编写的,API DLL 将是相同的。最初我的想法是简单地使用 WCF 和命名管道,因为它将提供一种非常简单的方法来编写整个接口。
但是,我意识到,如果我想为它制作一个 android 或 Web 遥控器,那么这样做几乎会阻止任何其他语言或平台与应用程序通信。
那么,我可以使用什么协议,既可以在我的 C# 代码中实现快速简单的接口,又可以在其他平台上编写 API。
基本要求是:
本地和远程通信 低开销 程序调用 文件传输(发送媒体) 预先存在的 C#,开源库会很好。我看过很多选项,之前使用过 XML-RPC 和 JSON-RPC,但想知道社区认为什么是最佳选项。
【问题讨论】:
【参考方案1】:我认为使用 WCF 是做你想做的事的最佳方式。它将易于维护,满足您的所有要求并且易于扩展。只是不要仅通过 net.pipe 限制对 API 的访问。我认为你应该使用 net.pipe、net.tcp 和基本的 http 作为主要绑定。我的意思是每个服务都有几个端点。因此,客户端应用程序,无论它是用什么语言编写的,都可以选择使用什么绑定来访问您的 API 服务器。
例如:
同一台机器上的 C# 客户端应用程序 - 使用 net.pipe Web 中的 php 客户端应用程序 - 使用基本 http 另一台机器上的 Java 客户端应用程序 - 使用 net.tcp举个例子:
http://www.kevingao.net/wcf-java-interop/java-client-and-wcf-server.html
【讨论】:
以上是关于最兼容的进程间通信协议的主要内容,如果未能解决你的问题,请参考以下文章