簡體   English   中英

將數據從C傳遞到Java

[英]Passing data from C to Java

在C服務器和Java小程序之間傳遞數據的最佳方法是什么? 當前,這是通過使用緩沖區並使用memcpy將字節復制到該緩沖區來完成的,但是如果對象發生更改,我就必須查明將其發送到applet的每個實例並進行更改。

有沒有更好的方法將對象傳遞給Java? 你會怎么做?

編輯以進行澄清:僅從C服務器到Java小程序,沒有Java servlet。 Applet傳遞給C服務器的唯一內容是一個十六進制數字,表示要采取的措施

您可能要看一下協議緩沖區

它們使您可以定義結構化數據,然后生成代碼以使用任何受支持的語言讀取和寫入消息。 唯一要注意的是,我認為他們目前僅支持C ++,盡管我知道對直接C實現很感興趣。

我會打開兩個應用程序之間的套接字連接。 您可以將對象序列化為字節數組,並使Java servlet將其反序列化為具有相同值的Java對象。 這樣,如果類定義更改,則只需在兩個位置更改代碼。

我將在C端將對象序列化為XML或google protobuf,並使用單個反序列化器在applet端對它們進行反序列化。 即,只有一個以上的類可以進行反序列化。 如果用戶嘗試讀取的版本不向后兼容,則使用戶對版本進行序列化,並且進行反序列化的對象將引發異常。 對整個代碼進行序列化和反序列化將是一個不好的做法。

暫無
暫無

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

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