/ JAVA

채팅 프로그램

[JAVA] 소켓 통신을 활용한 채팅 프로그램

자바 기반의 채팅 프로그램으로 소켓 통신, 데이터베이스 연동, 커뮤니티 기능 등 기본적인 자바 기술을 대거 활용해 구현함

Main Frame

Main frame img

메인 화면에서는 다른 사용자와 채팅할 수 있으며, 배경 색상을 변경하거나 현재 연락처 목록 확인 등의 기능을 제공함

Class diagram

chat class diagram img

위 클래스 다이어그램은 프로그램 내 Java 클래스가 어떻게 연결되어 있는지 관계성을 표현함

Database

chat database img

데이터베이스에는 기본적으로 구성원 정보 데이터를 적재함. 이를 통해 회원들의 이름, 아이디, 비밀번호 등의 개인정보가 관리되고 특정 자바 클래스를 통해 DB와 연동하여 데이터를 활용함

정품 등록, 로그인, 멤버쉽 등의 기본적인 커뮤니티 기능도 구현하였으며 해당 기능을 위한 데이터 관리도 구현함

Setting Background Color

background color img

위 화면에서는 파일 선택기를 통해 배경을 선택하거나(본인이 가지고 있는 이미지) 무작위로 단색을 적용할 수 있음

랜덤 색상을 선택하면 랜덤으로 채팅창의 배경 색상이 변하게 됨

Checking Current Users

current user img

위 화면에서 사용자는 현재 접속 중인 다른 사용자의 목록을 확인할 수 있음

원래는 사용자들을 연결하여 귓속말 기능(1:1 통신)을 추가하고 싶었으나, 역량이 부족하여 구현하지 못함

주요 기술

  • 실시간 이벤트 처리
  • 파일 입출력
  • GUI
  • 소켓 통신
  • 기초 기술(조건, 반복 등)