作者sbrhsieh (sbr)
看板java
标题Re: [问题] 经由Socket传送序列化物件
时间Mon Jun 22 17:54:56 2009
※ 引述《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)