msg = in.readObject();//出错如下:Error: java.lang.NullPointerException这里的in为null

解决方案 »

  1.   

    这个问题好办,可是要是在这出现了StreamCorruptedException怎么办( Control information in the stream is inconsistent)
      

  2.   

    try
    {   ObjectInputStream in = new ObjectInputStream(socket.getInputStream());
    ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
    InputStreamReader in_test = new InputStreamReader(socket.getInputStream());
    do
    { if ( in_test.ready() )
    { Object obj = in.readObject();
    if ( obj instanceof Message )
    { Message msg = (Message)obj;
    // if ( obj instanceof Goodbye )
    // { socket.close();
    // break LOOP;
    // } else
    if ( msg instanceof Hello )
    { clientName = msg.getAlias();
    if ( report != null )
    report.logUser(clientName);
    System.out.println (clientName);
    }
    else if ( msg instanceof Message )
    { out.writeObject(msg);
    msg.setTimestamp(new Date());
    synchronized(history)
    { history.addMessage(msg);
    System.out.println(msg.toString());
    }
    }
    }
    }
    sleep(100);
    }
    while ( true );
    }
    catch (Exception e)
    { if ( report != null )
    report.logError("Error(3): "+e);
    }