우당탕탕 개발일지
7일차_코테 공부 및 채팅 프로그램 본문
[ 프로그래머스 코테 ]
해당 문제 풀기 완료
동적 계획법을 사용하여 문제 풀었다....!
https://coding-document.tistory.com/10
[프로그래머스] 정수 삼각형(Java, Lv.3)
문제 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으
coding-document.tistory.com
[ Java 채팅 프로그램 ]
작년에 공부삼아 개발했던 Java 채팅 프로그램이다.
PrintWriter 클래스에 대한 개념이 부족하여 해당 부분을 공부했다.
해당 메소드를 통해서 Data를 전송하는 것은 알고 있으나 정확한 역할을 이해하지 못했다.
선언 PrintWriter out = new PrintWriter(socket.getOutputStream()); out.println(outputMessage); out.flush(); |
구글링을 통해서 명쾌한 정답을 찾지는 못했다...!
구글링을 통해서 선언 시, autoFlush 매개변수 자리에 True 값을 주면 flush 메소드를 사용하지 않아도 된다는 것은 알았다.
그치만 이것이 어떤 것을 의미하는지는 파악하지 못했다. 너무 어렵다...!!
그래서!
GPT...!!
아래 사진과 같은 답변을 얻었다
[ 정리 ]
1. PrintWrite 클래스
Java에서 텍스트 기반의 데이터를 출력하는 데 사용되는 클래스
2. println 메소드
Data 전송 및 출력, 내부적으로 데이터가 버퍼에 저장
Server -> Client 혹은 Client -> Server
Printwrite 객체 선언할 때, 첫번째 매개변수에 socket.getOutputStream() 값이 들어간다.
PrintWriter out = new PrintWriter(socket.getOutputStream(), True); |
그렇기에 out.println(메세지) 을 호출하게 되면 Client 혹은 Server에 Data를 출력(전송)하게 된다.
3. flush 메소드
버퍼에 있는 데이터를 출력 스트림으로 강제로 내보내는 역할
flush를 호출하면 버퍼에 있는 데이터가 즉시 출력 스트림으로 전송되어 실제로 출력
flush를 호출하지 않으면 실제로 전송되지 않을 수 있음. (println을 호출하면 내부적으로는 데이터가 버퍼에 저장)
Printwrite 객체 선언할 때, 아래와 같이 선언하면 flush 메소드 작성하지 않아도 자동으로 호출한다.
PrintWriter out = new PrintWriter(socket.getOutputStream(), True); |
https://github.com/ujin302/JavaChat
GitHub - ujin302/JavaChat
Contribute to ujin302/JavaChat development by creating an account on GitHub.
github.com
'취준' 카테고리의 다른 글
혼자 해보는 리액트 배포: Local Server (1) (1) | 2024.11.04 |
---|---|
첫 게시물 (0) | 2024.03.04 |