Re: [問題] 經由Socket傳送序列化物件
※ 引述《Romulus (羅姆修復計畫開始)》之銘言:
: 我現在有一個物件想要經由網路傳送到另一台電腦上,可是當我把資料傳過去的時候
: 卻發現內容會被自動取代:
: 一開始的4 byte,寫入檔案的話是:
: AC ED 00 05
: 可是如果寫入Socket,在另一邊讀取的話會變成:
: EF BF BD EF BF BD 00 05
: Google後只知道這是UTF-8的自動替換之類的問題,請問我要如何阻止他亂替換byte?
: 謝謝!
: ==
: 寫入Code:(soc為Server端accept得到的socket)
: ObjectOutputStream oos = new ObjectOutputStream(soc.getOutputStream());
: oos.writeObject(mPlayers[Player.ICH]);
: 讀取Code:
: ois = new ObjectInputStream(mParentSock.getSocket().getInputStream());
: Player player1 = (Player) ois.readObject();
你應該有客製 Player class 的 serialization(writeObject/readObject)部分,
而你客製的部分寫錯了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.135.183
※ 編輯: sbrhsieh 來自: 218.173.135.183 (06/22 17:56)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):