💡My project/네이트톡 : Java 소켓 통신 프로젝트

개인 프로젝트(1) -<소켓 통신을 이용한 채팅 프로그램 만들기(1)>

Song hyun 2024. 5. 24. 12:23
728x90
반응형

개인 프로젝트(1) -<소켓 통신을 이용한 채팅 프로그램 만들기(1)>

1. 프로젝트 시작하기

2. 코드 예제 분석

 


1. 프로젝트 시작하기: 자바 소켓 통신을 활용한 채팅 프로그램

 

 첫 팀 프로젝트가 끝나고 벌써 일주일! 소켓 통신을 활용한 개인 프로젝트가 시작되었다. 이번의 주제는 '소켓 통신을 사용하여 채팅 프로그램 만들기'이다. 채팅이라는 말에 처음에는 카카오톡, 라인, 디스코드 등의 어플들을 떠올렸다. 그런데 원체 유명하고, 안 쓰는 사람이 없을 정도의 프로그램들이라 주제가 겹칠 것 같아 걱정되었다.

 

 그러다 초등학생 시절, 안 하는 친구가 없었던 추억 속의 채팅 프로그램 "Nate-On"을 떠올렸다. 네이트온의 경우는 실제로 PC용 프로그램이었던 만큼 참고하기도 좋을 것 같았다. 그렇게 "네이트온"을 모티브로 한 소켓 통신-채팅 프로그램 제작이 시작되었다.

다양한 채팅 프로그램
네이트온


2. 코드 예제 분석

 처음에는 어떤 방식으로 채팅 프로그램들이 동작되는지, 잘 그려지지 않았다. Socket-ServerSocket 연결/I/O 스트림 연결까지는 알고 있었지만, 자바 SWING 컴포넌트와 I/O 스트림을 연결한다든지, 프로토콜로 명령을 전달한다는 게 잘 이해가 되지 않았던 것 같다. 

 

그래서 다른 사람들이 작성한 자바 SWING 채팅 프로그램 코드들을 살펴보며, 조금씩 따라 적으며 작동 방식을 이해하려고 신경썼던 것 같다. 따라 적어도 이해가 잘 되지 않는 부분들은 공책에 코드의 흐름을 단순하게 그려보기도 했다. 소켓 통신이라는 개념이 내겐 생소한 개념이다보니, 처음에는 정말 막막했다........

 

 우선 가장 기본적인 기능(서버 소켓 생성-클라이언트/서버 연결)을 구현하는 데 신경을 썼다. 그렇게 첫 날은 다른 사람들이 작성한 코드를 살펴보고, 따라 적으며 작동하는 원리들을 이해하려 노력했고, 그 외의 시간에는 클라이언트/서버의 로그인 화면을 구현하는 데에 시간을 할애했다. 

구현할 예제

 

728x90
반응형