1

我们有一个需要与企业软件系统交互的嵌入式设备。

企业系统当前使用许多不同的机制在其组件之间进行通信:ODBC、RPC、基于 TCP/IP 的专有协议,并且正在转向 .Net 实现的 Web 服务。

嵌入式设备运行 *nix 风格,所以我们正在研究最好的交互机制是什么。

通讯要求如下:

  • 必须通过 TCP/IP 运行。
  • 还必须通过 RS-232 或 USB 运行。
  • 必须是安全的(例如 HTTPS 或 SSL)。
  • 必须能够传输约 32MB 的数据。

    我们目前最好的选择是 gSOAP

    有没有人在 SO-land 有任何其他建议?

    编辑:史蒂文的回答给了我最新的指示。谢谢大家!

  • 4

    4 回答 4

    1

    您可以定义使用 HTTPS(根据定义使用 TCP/IP)的 RESTful 服务,并且能够传输任意数量的数据。

    REST 优于 SOAP 的优势在于 REST 更简单。它可以使用 JSON 而不是更简单的 XML。

    它的开销比 SOAP 协议少。

    于 2009-01-04T01:54:57.870 回答
    1

    你不能只使用 SSL over TCP 吗?

    如果您有某种 *nix(我猜?它是 QNX 或嵌入式 linux,对吗?)它应该可以通过以太网、USB 和 RS232 开箱即用地工作。保持简单。

    32mb 对于这项任务来说已经足够了。我会分配 2 到 4 mb 的内存用于网络和加密(代码 + 数据)。

    于 2009-01-04T02:50:33.983 回答
    1

    目前还不清楚为什么要将它与 SOAP 之类的远程过程调用协议联系起来。还有其他你没有提到的要求吗?

    不过,一般来说,使用普通的基于 Web 的服务可以很容易地处理这类事情。您可以获得用 C 编写的非常轻量级的 http 处理器;有关其中一些的比较,请参阅此 Wikipedia 文章。然后一个 REST 接口就可以正常工作了。也有将 USB 视为 TCP 连接的网络接口。

    如果您必须能够通过 RS232 运行,您可能想看看其他地方;在这种情况下,像 sftp 这样的东西可能会做得更好。或者编写一个可以在加密连接上运行的简单应用层协议。

    于 2009-01-04T03:21:31.237 回答
    1

    如果您打算使用 RS232 连接您的应用程序,我假设您将使用 PPP 将设备连接到互联网。但是,您建议传输的数据量有些令人担忧。大多数 RS232 连接限制为 115200 波特,忽略 TCP/IP/PPP 帧所需的开销将产生最多每秒 11,000 字节的传输速率。这意味着至少需要大约 2800 秒或 46 分钟才能进行您想要的任何传输。

    于 2009-01-05T12:43:47.293 回答