【问题标题】:How to serialize data in C to send in a socket如何在 C 中序列化数据以在套接字中发送
【发布时间】:2023-03-13 08:15:01
【问题描述】:

我必须序列化一些数据,然后使用套接字 AF_UNIX 发送它。 我已阅读 (here) 说我无法创建结构并仅使用强制转换 (void *) 发送它。所以,我想知道哪种方法是处理这个问题的最佳方法。 谢谢!

【问题讨论】:

  • 检查我的这个问题:stackoverflow.com/questions/30945121/…
  • 只要发送和接收系统具有相同的字节序、编码和类型宽度,并且您的结构不包含指针,您可以直接发送其内容。
  • @thebusybee 还有最重要的——结构填充
  • @EugeneSh。正确的。 ;-)

标签: c sockets serialization struct casting


【解决方案1】:

你基本上有两种选择:

  1. 完全按照您引用的问题进行滚动。
  2. 使用现成的序列化/反序列化系统。如果你走这条路,谷歌的Protocol Buffers 几乎是行业标准。对于受限项目(嵌入式等)nanopb 是实施的不错选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2010-11-29
    • 2011-08-05
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多