2014-03-12 2 views
2

java 서버 클라이언트 응용 프로그램을 수행하고 있는데 문제가 있습니다. 나는 성공적으로 클라이언트 소켓을 얻었고, ObjectInputStream을 붙이기를 원할 때 봉쇄했다.Java : 소켓에서 ObjectInputStream을 가져올 수 없습니다.

코드 :

serverSocket = new ServerSocket(9999); 

while(true){ 
    System.out.println("Waiting for player"); 
    Socket socket = serverSocket.accept(); 
    System.out.println("Player connected, waiting for command"); 

    ObjectInputStream in = new ObjectInputStream(socket.getInputStream()); 
    System.out.println("input created");  
} 

출력 :
내가 잘못 수행 할 수있는 Waiting for player Player connected, waiting for command

?

답변

6

은 들어오는 머리글을 기다립니다. 헤더가 completly 수신 될 때까지이 라인에 붙어됩니다

ObjectInputStream in = new ObjectInputStream(socket.getInputStream()); 

하면 즉시 연결이 설정 될 때 다른 쪽 (즉, 서버)에 ObjectOutputStream에에 flush()를 호출 할 필요가이 문제를 해결하기 위해.

자세한 내용은 javadoc을 참조하십시오.

+1

감사합니다. 도움이됩니다. – user3412372

관련 문제