将结构从一个进程发送到另一个进程的最简单方法是啥? [关闭]

Posted

技术标签:

【中文标题】将结构从一个进程发送到另一个进程的最简单方法是啥? [关闭]【英文标题】:What is the simplest way of sending a struct from one process to another? [closed]将结构从一个进程发送到另一个进程的最简单方法是什么? [关闭] 【发布时间】:2017-12-18 21:12:39 【问题描述】:

我有两个 Rust 线​​程;要将结构从一个线程发送到另一个线程,我会使用通道。现在我想将这些线程分成两个操作系统进程。

有没有比使用 TCP 套接字和来回序列化 JSON 更简单的方法?

我对这一切还很陌生,所以我什至不知道 Google 用什么术语。

【问题讨论】:

Relevant question。标准库中没有直接的 IPC 方法,但有多个 crate 可用。 谢谢。我对选项有点不知所措。你个人使用什么板条箱? 【参考方案1】:

就您要查找的关键字而言,Google 是 进程间通信 (IPC)。有几种方法可以做到这一点,正如评论中已经提到的那样,Rust 在标准库中没有提供太多功能。

问题是有很多方法可以进行进程间通信,每种方法都有自己的优点和缺点。也许开始阅读here,它会给你一些关于谷歌搜索的提示。

特别是针对您的问题,如果您在将结构序列化为 json 时担心性能,您也可以坚持使用二进制格式。 Bson 可能是您可以查看的选项。

【讨论】:

谢谢。我现在正在阅读不同的选项。我主要是在寻找真正简单的东西,而不是高效的东西。理想情况下,它会像频道一样“正常工作”。 恐怕没有真正“简单”的 IPC 方式,你会有一些开销。我会说 TCP/Unix 套接字是更简单的方法之一。无论如何,您必须以某种方式序列化您的数据。为了摆脱 json 的复杂性,您可以序列化为纯 [u8],即原始字节。看看this SO question

以上是关于将结构从一个进程发送到另一个进程的最简单方法是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

通过 URL 将用户所在的 URL 提交到另一个进程的最简洁、最短的 Javascript 是啥?

将数据从 Windows 挂钩传递到另一个进程的最佳方法是啥?

在 2 个 C 程序之间传输数据的最简单方法是啥?

将广播从一个进程发送到另一个进程

如何在 C++ 中将字节数组发送到另一个进程

我可以使用非阻塞套接字使用“sendmsg/recvmsg”将 FD 从一个进程发送到另一个进程吗?