Re: [問題] 經由Socket傳送序列化物件

看板java作者 (sbr)時間16年前 (2009/06/22 17:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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)
文章代碼(AID): #1AFrJp6m (java)
文章代碼(AID): #1AFrJp6m (java)