Не удается заставить работать ObjectInputStream

В настоящее время я пытаюсь заставить свой сервер создать соединение с клиентом. Я создал поток для каждого соединения, но сервер в настоящее время не создает входной поток. Я проверил это, распечатав числа, но распечатываются только 1 и 2. Я уверен, что это всего лишь небольшая проблема, которую мне не хватает.

public class ObjectHandler implements Runnable{
    Socket sock;
    ObjectInputStream ois;
    ObjectOutputStream oops;
    InputStream is;


    public ObjectHandler(Socket clientSocket) throws IOException {
        System.out.println("1");
        sock = clientSocket;

        is = sock.getInputStream();
        System.out.println("2");
        ois = new ObjectInputStream(new BufferedInputStream(is));
        System.out.println("3");

        OutputStream os = sock.getOutputStream();

        oops = new ObjectOutputStream(new BufferedOutputStream(os));
        outputSockets.add(oops);    

    }

Теперь я удалил исключение throws IOException и окружил читатель блокировкой try catch. После того, как клиент разбился, он теперь печатает эту ошибку:

at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
at ThreadPool$ObjectHandler.<init>(ThreadPool.java:95)
at ThreadPool.addThread(ThreadPool.java:31)
at ObjectServerTest.go(ObjectServerTest.java:93)
at ObjectServerTest.main(ObjectServerTest.java:124)
0
задан George Phillips 22 March 2012 в 16:39
поделиться