我已经阅读了Beej的指南,以及我在互联网上找到的许多其他资源,但我觉得我在序列化和反序列化方面缺少一些东西。我可以通过在服务器和客户端发送/接收的明确结构中进行硬编码来解决这个问题,但我想知道是否有任何可以帮助我更有效地或一般地序列化的资源。这有助于我在其他程序中重用一些序列化代码,而不必为每个想要传递的数据结构编写定制的序列化函数?
答案 0 :(得分:1)
Google Protobuf可能对您有用,特别是如果您可能想要考虑使用多种编程语言实现的跨平台应用程序。
Protobuf已经实现了序列化,所以你可以选择它。
由于以上链接适用于c ++,this是c pendant。 但也有许多其他语言的实现,如Python,PHP,Java等等! 另一个C Protobuf库是nanoPB,感谢πάνταῥεῖ指出这一点。这似乎是稳定的。
另一种方法是使用another serialisation library序列化和反序列化您的数据。
最后一种可能的方法是自己实现序列化,就像在SO question上所描述的那样。