簡體   English   中英

通過不同編程語言之間的TCP套接字發送結構(Java <-> CoDeSys)

[英]Send Struct over TCP Socket between different programming languages (Java <-> CoDeSys)

我需要通過TCP套接字發送一個struct(由布爾值,整數和字符串組成)。 發送器(PLC)在CoDeSys中實現,接收器在Java中實現。
一種解決方案是用數據創建一個大字符串,將其通過套接字發送並以Java插入。 但這似乎效率很低(因為該結構具有50多個變量)。

還有其他發送結構的方法(例如:在Java中有序列化,但在CoDeSys中不支持)?

如果不是,什么是格式化數據的好方法? (eg: "variableName1:value1;variableName2:value2;...")

是否有任何“技巧”可以將字符串中的值自動分配給Java端的對象?

我個人使用XML。 地球上每種體面的語言都可以解析它,並且在Codesys中創建它也不是荒謬的。

您還忘記了序列化的數據可能包含特定於平台的奇數,例如Java double與Codesys REAL 這些可能不會始終不加考慮地以序列化方式和平轉移。 字節交換問題也取決於平台。

有一些Codesys的Base64編碼/解碼庫,盡管我認為這不會比XML高效。

另外,如果您真的擔心效率,那么在XML方面……誰說它必須格式正確 只要您知道您的語言可以正確地將其粘合在一起,就可以進行一些欺騙。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM