현재 서버에서 클라이언트와의 연결을 만들려고합니다. 각 연결에 대한 스레드를 만들었지 만 서버가 현재 입력 스트림을 생성하지 않습니다. 숫자를 인쇄하여 테스트했지만 인쇄물이 1과 2 만 인쇄됩니다. Im 이것이 실종 된 작은 문제 일뿐입니다.작동 할 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);
}
나는 이제 throw 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)
당신이 예외를 받고 있습니까? 스택 추적을 해줄 수 있습니까? –
이것은 스택 추적의 일부일뿐입니다. 우리는 그것 모두를 볼 필요가있다. – skaffman