C++ 如何在C++;(Linux/Win)

C++ 如何在C++;(Linux/Win),c++,linux,windows,cross-platform,rpc,C++,Linux,Windows,Cross Platform,Rpc,我希望linux主机上的一个应用程序从VM中Win7x64上的应用程序调用过程。我想VM在linux主机上运行并不重要,因为它应该使用套接字。你如何处理这个计划?互联网上有图书馆吗 编辑: 我看了所有的照片。XMLRPC似乎是SOAP的某种前身。在我看来,Prototbuf似乎喜欢关注大型对象的简单序列化。所以我的决定取决于肥皂。但现在我正在寻找一个很好的使用C++绑定。我读了几页ApacheAxis2手册,但其他内容都很好用,而且都是C语言的 在我的具体案例中,另一个问题是:如果只发送一些文本

我希望linux主机上的一个应用程序从VM中Win7x64上的应用程序调用过程。我想VM在linux主机上运行并不重要,因为它应该使用套接字。你如何处理这个计划?互联网上有图书馆吗

编辑:

我看了所有的照片。XMLRPC似乎是SOAP的某种前身。在我看来,Prototbuf似乎喜欢关注大型对象的简单序列化。所以我的决定取决于肥皂。但现在我正在寻找一个很好的使用C++绑定。我读了几页ApacheAxis2手册,但其他内容都很好用,而且都是C语言的

在我的具体案例中,另一个问题是:如果只发送一些文本数字加上参数来标识以文本形式调用和应答的过程(我知道被调用过程的签名),发送不是更容易吗

Edit2: 由于SOAP只是一种标准,而RPC只是一种好奇(想象一下IP:D上的函数指针),所以它们都不是解决方案。但是ZeroMQ确实是一个进步。

你看过吗?它有优点和缺点,但可能满足您的需要

如果Windows box已启动并正在运行,那么Windows box是虚拟机这一事实应该不会产生任何影响,只要您选择的系统将服务器视为逻辑上独立的套接字,那么您的解决方案将保持灵活性。

您看过了吗?它有优点和缺点,但可能满足您的需要


如果Windows box已启动并正在运行,那么Windows box是VM这一事实不应造成任何影响,只要您选择的系统将服务器视为逻辑上独立的套接字,您的解决方案将保持灵活。

RPC没有魔力。我建议您考虑一下ZeroMQ和。ZeroMQ是一个非常易于使用的消息传递系统(您的通信层)。你可以用这个。Google protobuf用于描述和序列化/反序列化您的消息。这两个库都是跨平台的,甚至是跨语言的(Ruby、Python、C++等)

< P>没有RPC的魔力。我建议您考虑一下ZeroMQ和。ZeroMQ是一个非常易于使用的消息传递系统(您的通信层)。你可以用这个。Google protobuf用于描述和序列化/反序列化您的消息。这两个库都是跨平台的,甚至跨语言(Ruby、Python、C++等)

< P>一个不错的替代方案是XMLRPC,它运行在HTTP之上。至少它比肥皂简单。我已经用它来做java python通信,它当时代码不多,但是不知道有什么C++ C++库,所以我只想说它的C++部分。
编辑后编辑问题:对于一个非常简单的解决方案,只需使用普通HTTP,将请求路径映射到函数,并使用GET或POST提供参数。尽可能简单地在HTTP响应数据中返回值:纯文本表示数字或字符串,如果可以确保二进制兼容性(相同的CPU、相同的字号、纯结构、使用编译器结构打包选项(如果需要))或json(甚至XML,但随后您开始重新发明SOAP/XMLRPC…),则返回值为二进制blob一个不错的选择是XMLRPC,它运行在HTTP之上。至少它比肥皂简单。我已经用它来做java python通信,它当时代码不多,但是不知道有什么C++ C++库,所以我只想说它的C++部分。
编辑后编辑问题:对于一个非常简单的解决方案,只需使用普通HTTP,将请求路径映射到函数,并使用GET或POST提供参数。尽可能简单地在HTTP响应数据中返回值:纯文本表示数字或字符串,如果可以确保二进制兼容性(相同的CPU、相同的字号、纯结构、使用编译器结构打包选项(如果需要))或json(甚至XML,但随后您开始重新发明SOAP/XMLRPC…),则返回值为二进制blob.

增加了我的答案DIY替代方案。但是,在你的情况下,在你可以选择的地方,我会看看那些具有适合你的许可证的库,然后我会选择最简单的使用方法,为你的情况提供最好的示例代码,但也是最成熟/稳定、最小的。但是,在您的情况下,在您可以选择的地方,我会查看具有适用于您的许可证的库,然后我会选择最简单的使用方法,以及针对您的情况的最佳示例代码,但是alao最成熟/稳定,最小的.0MQ很好,protobuff很难理解。但我会经历的。但是我在设计我的软件系统时遇到了问题。如果你能看看的话,我会很感激的。0MQ很棒,protobuff很难理解。但我会经历的。但是我在设计我的软件系统时遇到了问题。如果你能看看的话,我会很感激的。