0

我需要通过 TCP 套接字发送一个结构(由布尔值、整数和字符串组成)。发送器(PLC)用 CoDeSys 实现,接收器用 Java 实现。
一种解决方案是使用数据创建一个大字符串,通过套接字发送它并在 Java 中对其进行解释。但这似乎非常低效(因为结构有 50 多个变量)。

还有其他发送结构的方法吗(例如:在 Java 中有序列化,但在 CoDeSys 中不支持)?

如果不是,那么格式化数据的好方法是什么?(e.g.: "variableName1:value1;variableName2:value2;...")

是否有任何“技巧”可以自动将字符串中的值分配给 Java 端的对象?

4

1 回答 1

0

我个人使用 XML。地球上每一种像样的语言都可以解析它,在 Codesys 中创建它并不荒谬。

您还忘记了序列化数据可能包含特定于平台的异常,例如 Javadouble与 Codesys REAL。这些可能并不总是在不考虑的情况下以序列化的方式和平转移。字节交换问题也取决于平台。

Codesys 有 Base64 编码/解码库,尽管我认为这不会比 XML 更有效。

此外,如果您真的担心效率,关于 XML ......谁说它必须是良好的格式。只要您知道您的语言可以正确地将其粘合在一起,就可以作弊。

于 2015-05-22T08:29:16.250 回答