【发布时间】:2014-03-03 08:25:12
【问题描述】:
我已经阅读了 Beej 的指南,以及我可以在互联网上找到的许多其他资源,但我觉得我在序列化和反序列化方面遗漏了一些东西。我可以通过在服务器和客户端发送/接收的明确结构中硬编码来将其散列,但我想知道是否有任何资源可以帮助我更有效或更一般地序列化这将有助于我在其他程序中重用我的一些序列化代码,而不必为我想要传递的每个数据结构编写定制的序列化函数?
【问题讨论】:
标签: c sockets serialization
我已经阅读了 Beej 的指南,以及我可以在互联网上找到的许多其他资源,但我觉得我在序列化和反序列化方面遗漏了一些东西。我可以通过在服务器和客户端发送/接收的明确结构中硬编码来将其散列,但我想知道是否有任何资源可以帮助我更有效或更一般地序列化这将有助于我在其他程序中重用我的一些序列化代码,而不必为我想要传递的每个数据结构编写定制的序列化函数?
【问题讨论】:
标签: c sockets serialization
Google Protobuf 可能对您有用,特别是如果您可能想考虑使用多种编程语言实现的跨平台应用程序。
Protobuf 已经实现了序列化,所以你会得到它。
由于上面的链接是针对 c++ 的,this 是 c 挂件。 但也有许多其他语言的实现,如 Python、PHP、Java 和许多其他语言! 另一个 C Protobuf 库是 nanoPB,感谢 πάντα ῥεῖ 指出这一点。看来这个是稳定的。
另一种方法是使用another serialisation library 序列化和反序列化您的数据。
最后一种可能的方法是自己实现序列化,就像SO question 中描述的那样。
【讨论】: