我有一个服务器和许多客户端。他们通过Java套接字相互通信。我制作了一个消息库,其中包含应发送的消息。很多消息完美无缺,但是有一个问题。如果我想发送这种信息的,我得到以下异常:StreamCorruptedException:无效的流头:73720024
java.io.StreamCorruptedException:无效的流头:73720024 在java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:806) 在java.io.ObjectInputStream中。(ObjectInputStream.java:299) 在messages.MessageHandler.receiveMessageNonBlocking(MessageHandler.java:156) 在loadbalancer.socket.SocketCommunicator.socketMessageHandler(SocketCommunicator.java:147) 在loadbalancer.socket .SocketCommunicator.run(SocketCommunicator.java:93)
如果客户机和服务器在同一台计算机上运行,但没有发生问题,则说明问题不会发生。远程计算机使用相同的操作系统,相同的Java版本。
你有什么建议我应该检查什么?
我已经检查过,我在两端使用相同的对象,只使用writeObject()和readObject()方法。如果我不使用它们,其他消息也应该失败。你能告诉我在哪里可以检查错误代码吗?我不知道72730024是指ASCII文本。 –
我已经重新开始了,错误代码更改为:73720028. –
因此您发送了其他错误信息。将数字视为十六进制并查找ASCII代码。您还需要检查您是否在同一个套接字上使用任何其他流。 – EJP