gpt4 book ai didi

sockets - 用不同语言编写的应用程序之间的通信

转载 作者:行者123 更新时间:2023-12-02 00:36:38 27 4
gpt4 key购买 nike

我正在考虑将几个应用程序链接在一起(都是用 C#、C++、Python 等不同语言编写的),但我不确定如何去做。

链接是什么意思?我正在处理的系统由小程序组成,每个小程序负责特定的处理任务。我需要能够轻松地将数据集从一个应用程序传输到另一个应用程序(所讨论的数据集并不大,可能只有几兆字节)而且我还需要某种形式的方法来控制操作的当前状态(这是客户端-服务器模型敲响了钟声)

套接字或 SOAP 似乎是一个通用的解决方案,但只是想就人们对这个主题的看法征求一些意见。

意见/建议将不胜感激,谢谢!

最佳答案

我个人比较喜欢ØMQ .它是一个具有类似 BSD 套接字接口(interface)的库,用于传递消息,但您会发现它实现了有趣的任务分配模式。

听起来您想在管道中安排多个进程。 ØMQ 允许您使用推送和轮询套接字来做到这一点。 (之后,您会发现甚至可以轻松地跨多个进程和机器进行扩展。)看看 guide开始,zmq_socket(3)专门针对推和拉如何工作的联机帮助页。

绑定(bind)适用于您提到的所有语言。

至于消息的内容,ØMQ并不关心,它们只是原始数据 block 。您可以使用任何适合您的格式,例如 JSON,或者可能是 Protocol Buffers .

我不确定的是你提到的“控制状态”。例如,您是否对中途取消工作感兴趣?

关于sockets - 用不同语言编写的应用程序之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4349338/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com