線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2329
推到 Plurk!
推到 Facebook!

Java 不支援union, 請問有什麼較好代替方法嗎?

尚未結案
Mummy
一般會員


發表:11
回覆:9
積分:4
註冊:2004-02-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-04 15:13:45 IP:61.220.xxx.xxx 未訂閱
因做網路傳輸, 制定很多不同傳輸Packet, 而在使用C Builder大量使用struct, union 因要改成Java, 不知較好代替union方法?
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-04 15:53:25 IP:61.64.xxx.xxx 未訂閱
這就要用序列化來做了 參考:http://java.sun.com/docs/books/tutorial/essential/io/serializing.html
class yourClass implements java.io.Serializable{
    int ...
    long ...
     Object ...
}
放送端:
  yourClass Oy=....
  OutputStream os= ....//看你要用什麼來做輸出管道--socket/rmi/File...
  ObjectOutputStream s = new ObjectOutputStream(os);
  os.writeObject(Oy);
  os.flush();
  os.close();
接收端:
  InputStream is=.....
  ObjectInputStream ois = new ObjectInputStream(is);
  yourClass obj=(yourClass)ois.readObject();
  ois.close();
當然啦,兩方要有你所定義的class才可以轉換. Dear Mummy,可以說一下你是要做什麼東西嗎?人家很好奇說.
Mummy
一般會員


發表:11
回覆:9
積分:4
註冊:2004-02-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-04 17:10:08 IP:61.220.xxx.xxx 未訂閱
Thank you 想用在網路影像收送上, 應需訂很多command packet, 而每個Packet固定64Bytes, 所以會利用union來設定及讀取Command Packet data, 方便寫程式, 否則每次 read/write command packet data 還需查閱?? ex: typedef union { struct { U32 dwSig; // 0-3 : U16 wLen; // 4-5 : U16 wCmdSN; // 6-7 : U16 dwRev; // 8-9 : U16 wOPcode; // 10-11 : union // Union : 12 -63 { U8 bParam[52]; // 52Bytes URESULT_ACK Ack; // 52Bytes UREQ_CONDEVICE ReqCon; // 52Bytes UACK_CONDEVICE AckCon; // 52Bytes . . }OP; } CMD; U8 bCmdData[CMD_LEN]; } UCmdPacket;
系統時間:2024-05-09 6:20:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!