우당탕탕 개발일지
[Java] Socket 채팅 프로그램 본문
반응형
Server와 Client가 대화하는 프로그램을 공부 삼아 개발하였다.
그 중 내가 이해가 어려웠던 부분을 정리해두었다.
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
반응형