gpt4 book ai didi

c - 通过 TCP/IP 套接字的 XML 消息

转载 作者:太空宇宙 更新时间:2023-11-04 00:33:37 25 4
gpt4 key购买 nike

我正在使用 C,想知道就通过套接字连接进行通信而言,XML 消息是否优于文本消息?

  1. 除了使用 XML 之外,还有其他更好的选择吗?
  2. 用 C 解析 XML 的最佳解析器(或解析选项)是什么?
  3. 有没有C自带的标准库帮助解析XML消息?

最佳答案

  1. 协议(protocol)由您设计,由您决定。您可以使用文本或二进制通信。无论您使用什么格式,您都可以决定如何序列化/反序列化和解释数据。如果您使用 XML,则可以利用 XMLRPC 或 SOAP。您也可以使用 JSONRPC。上次在我的项目中,我以一种非常简单而有效的方式使用二进制:首先确定要调用的方法/函数。接下来的 2 个字节用于通知数据的长度(最多 64K - 1 个字节),其余为数据。注意大/小字节序。

  2. 这是非常主观的。您可以使用验证或非验证解析器。 TinyXML 是轻量级的。您可以查看 MiniXML 和 Expat。 libxml2 更胖。

  3. 到目前为止,XML 解析不在 C 或 C++ 的标准库中。您可以使用上述库。

祝你好运!

编辑:

顺便说一句,如果你想使用二进制格式来交换数据,只需使用这 3 个中的任何一个:

  1. http://tpl.sourceforge.net/ - C 序列化库。

  2. http://www.s11n.net/c11n/ - 一个强大而复杂的 C 序列化库。

  3. 西塞里亚 - http://sourceforge.net/projects/siseria/ ,纯 C。我为一个嵌入式系统项目编写。它运行时没有任何依赖,而且速度非常快!与其他2相比,我的非常简单,根本不使用堆和动态内存。一切都在堆栈上!

关于c - 通过 TCP/IP 套接字的 XML 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com