亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我主要是想詢問下有沒有一種直接能夠read/Write Object的解決方案,如果有,是怎樣的?

我主要是想詢問下有沒有一種直接能夠read/Write Object的解決方案,如果有,是怎樣的?

鴻蒙傳說 2023-04-03 17:13:42
c++ 結構體struct Info {      int id;    char name[20]; };java Bean類class Info {    private int id;    private String name;    //Getter Setter}一個簡單的想法就是java 客戶端 讀取發送過來的字節數據 然后針對性的做大小字節變化,并取出多少字節復制給id或name
查看完整描述

2 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

純粹struct的話,兩邊統一下字節對齊和字節序,使用二進制協議也可以.
你可以把要傳輸的這段內容看成是一個很長的字符串。

當然,java在解釋二進制的結構體的時候,你是不能直接像c/c++一樣, (struct xxx*)buff就完成轉換,可能需要你深刻理解c++的內存layout,這相對復雜了。

實際上,通用的做法是實用一個第三方的標準編碼,和語言無關的,比如google開源的 protocbuffer,以及平常我們用的json,xml都是可以的。


查看完整回答
反對 回復 2023-04-07
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

這個玩意貌似叫protoBuffer,比較好的辦法是,你得有一個第三方的描述性文件,描述這個結構,比如

<info type="info">
    <id  type="int32" />
    <name type="string" />
</info>

通信的兩端必須得理解這個結構的,然后在傳輸的時候,序列化一下,在按照一定的規則讀一下就OK。


查看完整回答
反對 回復 2023-04-07
  • 2 回答
  • 0 關注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號