【发布时间】:2013-02-01 07:53:02
【问题描述】:
我正在尝试流式传输ObjectOutput,但出现上述错误。
代码:
private void writelogin(int i, int j, int k, int c4, int l, int m, Socket sock) throws IOException, InterruptedException {
ObjectOutputStream dos = new ObjectOutputStream((OutputStream)sock.getOutputStream());
boolean data = true;
int[] btw = new int[]{i,j, k, c4, l, m};
do {
((ObjectOutput) dos).writeObject(btw);
data=false;
} while (data);
dos.flush();
dos.close();}}
我不知道为什么。
例外是通过System.out 而不是通过Errorlog。
我的服务器收到的内容: AC ED(有时很多 00 和其他六角“看似随机”的数字)
我的信息流必须发送的内容: 03 96 144 54 79 05
我的服务器必须接收的内容: 03 60 90 36 4F 05
允许使用十六进制数字是正确的,所以不是问题。
问题存在,因为我使用ObjectOutputStream 和Array,因为我使用DataOutputStream 并通过dos.writeByte(i);dos.writeByte(j); 放置每个块本身,它工作正常。
想出了一些新的东西:我的ObjectOutputStream 自己发送了一个AC ED 00 05...有人知道如何避免这种情况吗?我什么都不送,但他送。
没关系,找到解决方法。发现甚至可以通过DataOutputStream 发送数组,因此避免了这种情况。
【问题讨论】:
标签: android sockets object client outputstream