우당탕탕 개발일지

[Java] Socket 채팅 프로그램 본문

개발 프로젝트/채팅 프로그램

[Java] Socket 채팅 프로그램

ujin302 2024. 3. 12. 19:56
반응형

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

 

반응형