java.io.StreamCorruptedException: invalid stream header: 00000000

mac2022-06-30  19

java.io.StreamCorruptedException: invalid stream header: 00000000 

序列化时抛出此异常,原因是因为疏忽传入了一个空的缓冲,注意00000000,这是由于空的缓冲造成的。部分代码如下:

byte [] buffer  =   new   byte [ 16384 ];     //  16k DatagramPacket packet  =   new  DatagramPacket(buffer, buffer.length); while ( true ) {    mcastSocket.receive(packet);        ObjectInputStream in  =   new  ObjectInputStream( new  ByteArrayInputStream( buffer ));    // ...

}

 修改后:

 

byte [] buffer  =   new   byte [ 16384 ];     //  16k DatagramPacket packet  =   new  DatagramPacket(buffer, buffer.length); while ( true ) {    mcastSocket.receive(packet);        ObjectInputStream in  =   new  ObjectInputStream( new  ByteArrayInputStream( packet.getData() )); //  ... }

 

转载于:https://www.cnblogs.com/cuizhf/archive/2011/09/12/2174017.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)