java.io.StreamCorruptedException: invalid type code: 6A
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at controller.NetController$Receiver.run(NetController.java:88)
at java.lang.Thread.run(Thread.java:619)
java.io.StreamCorruptedException: invalid type code: 6A
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at controller.NetController$Receiver.run(NetController.java:88)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "Thread-3" java.lang.NullPointerException
at controller.DoubleModeController.updateYourCtrl(DoubleModeController.java:127)
at controller.DoubleModeController.receiveObj(DoubleModeController.java:123)
at controller.NetController$Receiver.run(NetController.java:92)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    你哪出了这个东西invalid type code: 6A 
      

  2.   

    下面是NetCotroller类的一个内部类,负责接收数据:
    private class Receiver implements Runnable {
    @Override
    public void run() {
    while(isRunning) {
    ObjectInputStream ois = null;
    try {
    byte[] receiveBytes = new byte[1024*2];
    dp = new DatagramPacket(receiveBytes, receiveBytes.length);
    ds.receive(dp);
    System.out.println("receive ...@_@");
    ByteArrayInputStream bais = new ByteArrayInputStream(receiveBytes);
    ois = new ObjectInputStream(bais);
    //到下面这句时,就抛出了那异常!
    receiveObj = ois.readObject();

    ois.close();

    ncl.receiveObj((Object[])receiveObj);
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    }
    }
    }