Java InputStream抛出Java.io.StreamCorruptedException
我有一个我不太明白的问题。我在两台独立的机器上有一个服务器套接字和一个客户端套接字。服务器将不断以十六进制格式发送数据,连接的客户端将读取数据流并执行一些工作。 大部分交通都是以这种方式发生的。在极少数情况下,客户端会向服务器发送bytestring。在这一点上,我得到了 此行的Java.io.StreamCorruptedException:Java InputStream抛出Java.io.StreamCorruptedException,java,sockets,Java,Sockets,我有一个我不太明白的问题。我在两台独立的机器上有一个服务器套接字和一个客户端套接字。服务器将不断以十六进制格式发送数据,连接的客户端将读取数据流并执行一些工作。 大部分交通都是以这种方式发生的。在极少数情况下,客户端会向服务器发送bytestring。在这一点上,我得到了 此行的Java.io.StreamCorruptedException: ObjectInputStream in = new ObjectInputStream(socketFromClient.getInput
ObjectInputStream in = new
ObjectInputStream(socketFromClient.getInputStream());
例外情况:
java.io.StreamCorruptedException: invalid stream header: 020001B5
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:857)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349)
at ReadInput.run(ReadInput.java:21)
at java.lang.Thread.run(Thread.java:745)
0200001b5正是客户端发送到服务器的bytestring
我不明白为什么我会得到这个StreamCorruptedException。我的
代码逻辑没有任何流头。什么是流头?
我查看了javadoc,我无法理解为什么会发生这种情况
非常感谢您的任何提示
谢谢
-v您的客户端没有使用ObjectOutputStream写入数据:这就是您看到此异常的原因。ObjectOutputStream和ObjectInputStream用于序列化和反序列化Java对象 <>而不是使用ObjistInPixStand读取数据,考虑使用BuffErdRe读器或DATAN。
请参阅。寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。