2012-03-03 2 views
0

서버 클라이언트 응용 프로그램이 있습니다. 클라이언트 측에서 나는 출력 데이터에이 I/O 스트림을 사용하고 있습니다 :PrintWriter가 전송하고 DataInputStream이이를 읽습니다.

out = new PrintWriter(socket.getOutputStream(), true); 
     out.println("yeah"); 

을 나는이 라인으로 제품 읽으려고하고있는 서버 측에서 :

DataInputStream din = new DataInputStream(s.getInputStream()); 
    String clientId = din.readUTF(); 

는 서버가 도달을 위의 진술을 읽고 거기서 멈추십시오. 뭐가 문제 야? 두 I/O 스트림이 서로 호환되지 않습니까? 어느 쪽의 파티도 예외가 발생하지 않고 출력되지 않습니다. 간단히 말해서 나는 전에 위의 문 I 후 System.out.println() 추가 = 나는 프로그램이이 라인 교차하지 않는 것으로 결정 : 당신이 DataInputStream.readUTF()와 소켓의 다른 쪽 끝에서 읽으려면 String clientId = din.readUTF();

+0

"서버가 위의 문장에 도달하여 거기에서 멈 춥니 다"는 의미는 예외, 오류가 발생합니까? 사람들이 질문을 이해할 수 있도록 문제에 대한 세부 정보를 제공하십시오. – Juvanis

답변

0

당신은 DataOutputStream.writeUTF() 방법을 사용해야합니다. 이유에 대한 자세한 내용은 DataInputJavadoc을 참조하십시오. 또는 buffered reader 또는 스캐너를 사용하여 데이터를 읽을 수도 있습니다.

관련 문제