現在、クライアントとの接続を作成するためにサーバーを取得しようとしています。接続ごとにスレッドを作成しましたが、サーバーは現在入力ストリームを作成していません。私は数字を印刷することでこれをテストしましたが、1と2しか印刷されません。私はこれが欠けている小さな問題だと確信しています。ObjectInputStreamが正常に動作しません
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);
}
は、私は今、IOExceptionがスロー除去され、トライキャッチを読者に囲まれています。クライアントがクラッシュした後、このエラーが表示されるようになりました。
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)
あなたは例外を取得していますか?あなたは私たちにスタックトレースを与えることができますか? –
これはスタックトレースの一部に過ぎません。私たちはそれをすべて見る必要があります。 – skaffman