클라이언트에서 서버로 문자열을 보내려고하지만 입력 스트림에서 읽지 않는 것 같습니다.IOUtils 복사 및 쓰기 문제
클라이언트
Scanner scanner = new Scanner(System.in);
Socket connection = new Socket("localhost", 13)
OutputStream out = connection.getOutputStream();
while(true) {
String message = scanner.nextLine();
IOUtils.write(message, out, "UTF-8");
out.flush();
}
서버 나 클라이언트의 OutputStream로부터 스트림을 닫습니다하지만 클라이언트에서 서버로 여러 개의 메시지를 보내려고하고 경우 읽기
ServerSocket server = new ServerSocket(localhost,13);~
Socket connection = server.accept();
InputStream in = connection.getInputStream();
StringWriter writer = new StringWriter();
while(true) {
try {
IOUtils.copy(in, writer);
System.out.println(writer.toString());
} catch(IOException io) {}
}
. 누군가 도와 주시겠습니까
OP는 각 줄이 메시지 인 줄을 보내려고합니다. 프로토콜은 간단합니다. 클라이언트 측에서 PrintWriter의 println 메소드를 사용하여 라인을 작성하고 서버 측에서 BufferedReader의 readLine() 메소드를 사용하여 라인을 읽습니다. 이 경우 메시지의 끝은 작성자가 보낸 EOL이며 readLine() 메소드로 감지됩니다. 너 혼자 알아 내야 해. 그것이 당신이 배우는 방법입니다. –
대답했습니다. 나는 그것을 시도해 주겠다, 감사한다 – zam
방금 설명하는 위의 코멘트를 업데이트했다. –