【问题标题】:how to send and receive structs through message queues?如何通过消息队列发送和接收结构?
【发布时间】:2014-07-19 04:13:57
【问题描述】:

我想使用 POSIX 消息队列以结构形式将消息从一个进程发送到另一个进程。

我可以发送和接收简单的字符串。我试图序列化对象,但因此我需要一个 std::ostream 或 std::istream。

有什么方便的方法?

【问题讨论】:

  • 对象是否包含复杂字段,如指针或其他包含指针的类的实例(如std::stringstd::vector)?如果不是(即它只包含 POD 成员),那么只需按原样发送结构就可以了。否则,您可能想查看例如the Boost serialization library.
  • 从来不需要它,但是如果你在具有不同对齐方式、位深度的进程之间进行 IPCing ......如果在幕后没有魔法来处理二进制方法,那么二进制方法可能会失败
  • 是的,该对象包含复杂的字段

标签: c++ message-queue


【解决方案1】:

我按照 Joachim Pileborg 的建议使用了 the Boost serialization library‌​,效果很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 2016-07-16
    • 2015-02-03
    • 1970-01-01
    • 2021-09-06
    相关资源
    最近更新 更多